Kernpunkte
- HTML5 ermöglicht die Verifizierung von Client -Formulare frei von JavaScript -Codierung, aber für komplexere Formen können JavaScript- und Einschränkungsüberprüfungs -APIs zur Verbesserung der nativen Validierung verwendet werden. Dies liegt an einigen Einschränkungen, wie nicht alle Browser, die alle HTML5 -Eingangstypen und CSS -Selektoren unterstützen, und es ist schwierig, die Fehlermeldungblase zu stylen. Die API
- Einschränkungsprüfung liefert einige Methoden und Eigenschaften wie
.willValidate
,.checkValidity()
,.validity
und.setCustomValidity()
. Diese werden verwendet, um zu überprüfen, ob die Felder überprüft werden, die Felder verifiziert werden, die Gültigkeit der Felder und die benutzerdefinierte Gültigkeitsnachricht festgelegt werden. Allerdings werden nicht alle Attribute von allen Browsern unterstützt. - Ein einfaches, universelles Cross-Browser-Form-Verifizierungssystem kann mit JavaScript- und Beschränkungsverifizierungs-APIs erstellt werden. Dieses System beinhaltet die Deaktivierung der nativen Überprüfung, das Durchleiten aller Felder, um zu überprüfen, ob die native Überprüfung verfügbar ist und ob der Eingangstyp unterstützt wird, die Gültigkeit des Feldes überprüft und eine benutzerdefinierte Gültigkeitsmeldung festgelegt wird. Dieses System kann angepasst werden, um ältere Browser und verschiedene Eingangstypen zu unterstützen.
Dieser Artikel ist der letzte in einer dreiteiligen Serie über HTML5-Webformulare, und wir werden die API von JavaScript Integration und Beschränkungsüberprüfung diskutieren. Wenn Sie die Artikel mit Tagged und CSS nicht gelesen haben, lesen Sie es zuerst, um sicherzustellen, dass Sie mit diesen Konzepten vertraut sind. Mit HTML5 können wir die Validierung des Client -Formulars ohne JavaScript -Code implementieren. Bei der Implementierung komplexerer Formen müssen wir jedoch die native Validierung verbessern, da:
- Nicht alle Browser unterstützen alle HTML5 -Eingangstypen und CSS -Selektoren Fehlermeldung Blasen verwenden gemeinsamen Text ("Bitte füllen Sie dieses Feld aus") und sind schwer zu stylen
- und
- Stile werden angewendet, wenn die Seite geladen wird, bevor der Benutzer mit dem Formular interagiert.
:invalid
:required
Einige APIs von JavaScript -Code und Einschränkungen können die Benutzererfahrung verbessern. Beachten Sie, dass dies ein wenig unordentlich werden kann, wenn Sie eine Vielzahl von Browsern und Eingabetypen unterstützen möchten, und wir werden hart daran arbeiten.
Abfangform -Einreichung
Vor dem HTML5 wird die Client -Überprüfung ein Einreichungshandler an ein Formular anhängen, das das Feld überprüft, einen Fehler an zeigt und Einreichungsereignisse blockiert. In HTML5 führt der Browser zunächst eine eigene Überprüfung durch - das Einreichungsereignis wird nur dann ausgelöst, wenn das Formular gültig ist. Wenn Sie also etwas Kompliziertes tun möchten, z. B. das Anzeigen Ihres eigenen Fehlers, des Vergleichs oder des automatischen Füllens, müssen Sie die native Überprüfung ausschalten, indem Sie die
-Sache des Formulars auf: noValidate
festlegen
true
var form = document.getElementById("myform"); form.noValidate = true; // 设置处理程序以在提交时验证表单 // onsubmit 用于更轻松的跨浏览器兼容性 form.onsubmit = validateForm;
Feld
Eigenschaften Jedes Eingabefeld hat ein -Handler, der alle Felder durchläuft und prüft, ob eine native Überprüfung verfügbar ist:
überprüfen können! Wir wissen nun, dass der Code im ersten Codeblock bewertet wird, wenn er mit nationaler Validierung verwendet werden kann. Aber ...
Wenn Sie den ersten Teil lesen, werden Sie sich daran erinnern, dass die Eingabetypen, die nicht unterstützt werden, auf den Text zurückfallen. Zum Beispiel:
Keine native Unterstützung in Firefox 29 oder IE11. Diese Browser werden (effektiv): Beide Browser unterstützen jedoch die Überprüfung des Texttyps, daher wird -attribute mit den
zurück. Es gibt auch eine ähnliche Objekte haben die folgenden Eigenschaften: Nicht alle Eigenschaften werden von allen Browsern unterstützt. Achten Sie also darauf, nicht zu viele Annahmen zu treffen. In den meisten Fällen sollte das Ergebnis von (Der nachfolgende Inhalt entspricht dem Originaltext, und die Länge ist zu lang, sodass er hier weggelassen wird. Bitte passen Sie die Länge und die Details des Ausgangsinhalts selbst nach Bedarf an.) .willValidate
.willValidate
Attribut. Dies wird zurückkehren:
zurückgegeben. Erstellen wir unseren true
: Wenn der Browser das native Verifizierungsfeld platziert;
false
undefined
false
validateForm
Die Loop -Iteraten stellen alle Felder in einer einzelnen var form = document.getElementById("myform");
form.noValidate = true;
// 设置处理程序以在提交时验证表单
// onsubmit 用于更轻松的跨浏览器兼容性
form.onsubmit = validateForm;
elements
function validateForm(event) {
// 获取跨浏览器事件对象和表单节点
event = (event ? event : window.event);
var
form = (event.target ? event.target : event.srcElement),
f, field, formvalid = true;
// 循环所有字段
for (f = 0; f < form.elements.length; f++) {
// 获取字段
field = form.elements[f];
// 忽略按钮、字段集等
if (field.nodeName !== "INPUT" && field.nodeName !== "TEXTAREA" && field.nodeName !== "SELECT") continue;
// 原生浏览器验证可用吗?
if (typeof field.willValidate !== "undefined") {
// 原生验证可用
}
else {
// 原生验证不可用
}
}
}
sind beide falsche Werte, sodass Sie nicht einfach false
undefined
field.willValidate
unterstützt der Browser Eingangstypen? // 原生浏览器验证可用吗?
if (typeof field.willValidate !== "undefined") {
// 原生验证可用
}
else {
// 原生验证不可用
}
<input type="date" name="dob" />
zurückgeben! Daher müssen wir überprüfen, ob unsere field.willValidate
-attributen des Objekts übereinstimmen - wenn sie nicht übereinstimmen, müssen wir die Legacy -Fallback -Überprüfung implementieren, z. B. undefined
type
.type
<input type="text" name="dob" />
Methode .checkValidity()
Wenn eine native Überprüfung verfügbar ist, können Sie die Methode ausführen, um das Feld zu überprüfen. Wenn es kein Problem gibt, gibt die Methode .checkValidity()
-Methode, die den aktuellen Zustand ohne Wiederholung zurückgibt, obwohl dies nicht sehr nützlich ist und von allen Browsern nicht unterstützt wird. Diese beiden Methoden werden auch: true
sein
false
.reportValidity()
Das Feld Wenn die Überprüfung fehlschlägt, wird das Ereignis
.validity
-Ereignis gibt. Denken Sie daher daran, den Fehlerstil und die Meldung bei Bedarf zurückzusetzen. invalid
valid
field .validity
.valid
- Gibt true
zurück, wenn es keinen Fehler im Feld gibt, andernfalls gibt false
zurück.
.valueMissing
- Gibt true
zurück, wenn das Feld erforderlich ist, aber kein Wert eingegeben wird.
.typeMismatch
- Gibt true
zurück, wenn der Wert nicht die richtige Syntax ist (z. B. eine missgebildete E -Mail -Adresse).
.patternMismatch
- Gibt pattern
zurück, wenn der Wert nicht mit dem regulären Ausdruck des true
-attributs übereinstimmt.
.tooLong
- Gibt maxlength
zurück, wenn der Wert länger als der zulässige true
ist.
.tooShort
- Gibt minlength
zurück, wenn der Wert kürzer ist als der zulässige true
.
.rangeUnderflow
- Wenn der Wert niedriger als min
ist, return true
.
.rangeOverflow
- Wenn der Wert höher als max
ist, return true
.
.stepMismatch
- Wenn der Wert nicht mit step
übereinstimmt, return true
.
.badInput
- Wenn der Eintrag nicht in einen Wert konvertiert werden kann, gibt er true
zurück.
.customError
- Gibt true
zurück, wenn ein benutzerdefinierter Fehler im Feld festgelegt ist. .valid
oder .checkValidity()
ausreichen, um die Fehlermeldung anzuzeigen oder auszublenden.
Das obige ist der detaillierte Inhalt vonHTML5 -Formulare: JavaScript und die API zur Beschränkungsvalidierung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Zu den Anwendungen von JavaScript in der realen Welt gehören die serverseitige Programmierung, die Entwicklung mobiler Anwendungen und das Internet der Dinge. Die serverseitige Programmierung wird über node.js realisiert, die für die hohe gleichzeitige Anfrageverarbeitung geeignet sind. 2. Die Entwicklung der mobilen Anwendungen erfolgt durch reaktnative und unterstützt die plattformübergreifende Bereitstellung. 3.. Wird für die Steuerung von IoT-Geräten über die Johnny-Five-Bibliothek verwendet, geeignet für Hardware-Interaktion.

Ich habe eine funktionale SaaS-Anwendung mit mehreren Mandanten (eine EdTech-App) mit Ihrem täglichen Tech-Tool erstellt und Sie können dasselbe tun. Was ist eine SaaS-Anwendung mit mehreren Mietern? Mit Multi-Tenant-SaaS-Anwendungen können Sie mehrere Kunden aus einem Sing bedienen

Dieser Artikel zeigt die Frontend -Integration mit einem Backend, das durch die Genehmigung gesichert ist und eine funktionale edtech SaaS -Anwendung unter Verwendung von Next.js. erstellt. Die Frontend erfasst Benutzerberechtigungen zur Steuerung der UI-Sichtbarkeit und stellt sicher, dass API-Anfragen die Rollenbasis einhalten

JavaScript ist die Kernsprache der modernen Webentwicklung und wird für seine Vielfalt und Flexibilität häufig verwendet. 1) Front-End-Entwicklung: Erstellen Sie dynamische Webseiten und einseitige Anwendungen durch DOM-Operationen und moderne Rahmenbedingungen (wie React, Vue.js, Angular). 2) Serverseitige Entwicklung: Node.js verwendet ein nicht blockierendes E/A-Modell, um hohe Parallelitäts- und Echtzeitanwendungen zu verarbeiten. 3) Entwicklung von Mobil- und Desktop-Anwendungen: Die plattformübergreifende Entwicklung wird durch reaktnative und elektronen zur Verbesserung der Entwicklungseffizienz realisiert.

Zu den neuesten Trends im JavaScript gehören der Aufstieg von Typenkripten, die Popularität moderner Frameworks und Bibliotheken und die Anwendung der WebAssembly. Zukunftsaussichten umfassen leistungsfähigere Typsysteme, die Entwicklung des serverseitigen JavaScript, die Erweiterung der künstlichen Intelligenz und des maschinellen Lernens sowie das Potenzial von IoT und Edge Computing.

JavaScript ist der Eckpfeiler der modernen Webentwicklung. Zu den Hauptfunktionen gehören eine ereignisorientierte Programmierung, die Erzeugung der dynamischen Inhalte und die asynchrone Programmierung. 1) Ereignisgesteuerte Programmierung ermöglicht es Webseiten, sich dynamisch entsprechend den Benutzeroperationen zu ändern. 2) Die dynamische Inhaltsgenerierung ermöglicht die Anpassung der Seiteninhalte gemäß den Bedingungen. 3) Asynchrone Programmierung stellt sicher, dass die Benutzeroberfläche nicht blockiert ist. JavaScript wird häufig in der Webinteraktion, der einseitigen Anwendung und der serverseitigen Entwicklung verwendet, wodurch die Flexibilität der Benutzererfahrung und die plattformübergreifende Entwicklung erheblich verbessert wird.

Python eignet sich besser für Datenwissenschaft und maschinelles Lernen, während JavaScript besser für die Entwicklung von Front-End- und Vollstapel geeignet ist. 1. Python ist bekannt für seine prägnante Syntax- und Rich -Bibliotheks -Ökosystems und ist für die Datenanalyse und die Webentwicklung geeignet. 2. JavaScript ist der Kern der Front-End-Entwicklung. Node.js unterstützt die serverseitige Programmierung und eignet sich für die Entwicklung der Vollstapel.

JavaScript erfordert keine Installation, da es bereits in moderne Browser integriert ist. Sie benötigen nur einen Texteditor und einen Browser, um loszulegen. 1) Führen Sie sie in der Browser -Umgebung durch, indem Sie die HTML -Datei durch Tags einbetten. 2) Führen Sie die JavaScript -Datei nach dem Herunterladen und Installieren von node.js nach dem Herunterladen und Installieren der Befehlszeile aus.


Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

SublimeText3 Linux neue Version
SublimeText3 Linux neueste Version

DVWA
Damn Vulnerable Web App (DVWA) ist eine PHP/MySQL-Webanwendung, die sehr anfällig ist. Seine Hauptziele bestehen darin, Sicherheitsexperten dabei zu helfen, ihre Fähigkeiten und Tools in einem rechtlichen Umfeld zu testen, Webentwicklern dabei zu helfen, den Prozess der Sicherung von Webanwendungen besser zu verstehen, und Lehrern/Schülern dabei zu helfen, in einer Unterrichtsumgebung Webanwendungen zu lehren/lernen Sicherheit. Das Ziel von DVWA besteht darin, einige der häufigsten Web-Schwachstellen über eine einfache und unkomplizierte Benutzeroberfläche mit unterschiedlichen Schwierigkeitsgraden zu üben. Bitte beachten Sie, dass diese Software

ZendStudio 13.5.1 Mac
Leistungsstarke integrierte PHP-Entwicklungsumgebung

SecLists
SecLists ist der ultimative Begleiter für Sicherheitstester. Dabei handelt es sich um eine Sammlung verschiedener Arten von Listen, die häufig bei Sicherheitsbewertungen verwendet werden, an einem Ort. SecLists trägt dazu bei, Sicherheitstests effizienter und produktiver zu gestalten, indem es bequem alle Listen bereitstellt, die ein Sicherheitstester benötigen könnte. Zu den Listentypen gehören Benutzernamen, Passwörter, URLs, Fuzzing-Payloads, Muster für vertrauliche Daten, Web-Shells und mehr. Der Tester kann dieses Repository einfach auf einen neuen Testcomputer übertragen und hat dann Zugriff auf alle Arten von Listen, die er benötigt.

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen