In unserem täglichen Geschäft ist die Formularvalidierung eine sehr häufige Designanforderung. Einige Anmelde- und Registrierungsfelder sowie Fragebögen erfordern ebenfalls eine Formularvalidierung. Im Allgemeinen besteht unsere Implementierungsidee darin, dass JS den Eingabeinhalt des Eingabefelds überwacht, den vom Benutzer eingegebenen Inhalt bestimmt und somit die nächste Operation festlegt. Zum Beispiel: (Das folgende Beispiel stammt aus der hervorragenden Open-Source-UI-Bibliothek Element) <el-form :model="NummerValidateForm" ref="NummerValidateForm" label-width="100px" class="demo-ruleForm"> <el-form-item label="Alter" prop="Alter" :Regeln="[ {erforderlich: true, Nachricht: ‚Alter darf nicht leer sein‘}, { Typ: 'Zahl', Nachricht: 'Alter muss ein numerischer Wert sein'} ]" > <el-input Typ="Alter" v-model.number="numberValidateForm.Alter" autocomplete="aus"></el-input> </el-form-item> <el-form-item> <el-button type="primary" @click="submitForm('numberValidateForm')">Senden</el-button> <el-button @click="resetForm('numberValidateForm')">Zurücksetzen</el-button> </el-form-item> </el-form> <Skript> Standard exportieren { Daten() { zurückkehren { NummerValidateForm: { Alter: '' } }; }, Methoden: { Formular absenden(Formularname) { dies.$refs[formName].validate((gültig) => { if (gültig) { Warnung ('Senden!'); } anders { console.log('Fehler beim Senden!!'); gibt false zurück; } }); }, Formular zurücksetzen(Formularname) { dies.$refs[formName].resetFields(); } } } </Skript> Das Obige ist unsere reguläre Ausdrucksüberprüfung, die im Wesentlichen mit JS abgeschlossen ist. Können wir sie also mit CSS implementieren? Die Antwort ist ja. Hier ist die DEMO Implementieren der Formularvalidierung mit CSS Die obige Formularvalidierung wird vollständig durch CSS implementiert und das Kernattribut ist Hier ist der vollständige Code /* * CSS */ :Wurzel { --Fehlerfarbe: rot; } .form > Eingabe { Rand unten: 10px; } .form > .f-tips { Farbe: var(--error-color); Anzeige: keine; } Eingabe [Typ = "Text"]: ungültig ~ Eingabe [Typ = "Senden"], input[type="password"]:ungültig ~ input[type="submit"] { Anzeige: keine; } Eingabe [erforderlich]: ungültig + Spanne { Anzeige: inline; } /* *html */ <form class="form" id="form" method="get" action="/api/form"> Konto: <input data-title="Konto" pattern="[\w]{6,10}" name="Konto" type="text" erforderlich /> <span class="f-tips">Bitte geben Sie die korrekte Kontonummer ein</span> <br /> Passwort: <input data-title="Passwort" pattern="[\w]{6,10}" name="Passwort" type="Passwort" erforderlich /> <span class="f-tips">Bitte geben Sie das richtige Passwort ein</span> <br /> <input name="button" type="submit" value="Senden" /> </form> Screenshots von Effekten Verwendete Wissenspunkte 1. Neue Attribute von Erklärung von MDN: Regulärer Ausdruck zum Überprüfen des Steuerelementwerts. Das Muster muss mit dem gesamten Wert übereinstimmen, nicht nur mit einer Teilmenge. Verwenden Sie das Titelattribut, um den Modus zu beschreiben und Benutzern zu helfen. Dieses Attribut gilt, wenn der Wert des Typattributs „Text“, „Suche“, „Tel.“, „URL“ oder „E-Mail“ ist. Andernfalls wird es ignoriert. (Kompatibel mit IE10+) Bemerkung: Wenn die Validierungsregeln im <input data-title="Konto" pattern="/[\w]{6, 10}/" name="Konto" type="text" erforderlich /> Die Validierungsregeln in <input data-title="Konto" pattern="/\w{6,10}/" name="Konto" type="text" erforderlich /> 2. Neue Eigenschaften von Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird. |
<<: Müssen Designer das Programmieren lernen?
>>: Front-End-JavaScript-Housekeeper-Paket.json
CSS hat zwei Pseudoklassen, die nicht häufig verw...
Entfernen Sie das gepunktete Kästchen auf dem Link...
Problembeschreibung Nach der Installation von Wor...
Auch wenn nicht Halloween ist, lohnt es sich, sic...
Ich bin heute auf mehrere Browserkompatibilitätsp...
Der Standard-SSH-Remote-Port in Linux ist 22. Man...
Phänomen Das System konnte den Linux-Systemkernel...
1. Nexus-Konfiguration 1. Erstellen Sie einen Doc...
Problembeschreibung: Ich habe einen Mac gekauft u...
Vor Kurzem musste ich die Zoom-Videokonferenz tes...
Code kopieren Der Code lautet wie folgt: <!DOC...
In diesem Artikelbeispiel wird der spezifische Co...
Inhaltsverzeichnis 1. Was ist ein regulärer Ausdr...
Wie wir alle wissen, können wir in Linux ohne den...
In diesem Artikel werden hauptsächlich Tabellen e...