Dieser Artikel beschreibt hauptsächlich, wie die Formularvalidierung basierend auf der Validierungsmethode von NUXT implementiert wird. Nachdem Sie die Überprüfungsmethode gekapselt haben, müssen Sie nur eine Codezeile wie „rules=‚filter_rules({required:true,type:‚mobile‘})“ verwenden, um die Überprüfung auf der Seite zu implementieren. Schauen wir uns zunächst den Implementierungseffekt an 1. Erstellen Sie eine neue validate.js-Datei: Dieses Dokument enthält einige erforderliche Validierungsregeln. Schauen wir uns den Code direkt darunter an: /** * Erstellt von jiachenpan am 16.11.18. **/ Exportfunktion isvalidUsername (str) { const valid_map = ['Administrator', 'Editor'] returniere valid_map.indexOf(str.trim()) >= 0 } // Nicht-negative Zahl Exportfunktion noFuNumber (str) { const reg = /^\d+(\.{0,1}\d+){0,0}$/ return reg.test(str) } // Handynummer Exportfunktion isvalidMobile (str) { const reg = /^1(3|4|5|7|8)\d{9}$/ return reg.test(str). } // Chinesisch, Englisch, Zahlen Exportfunktion regexn (str) { const reg = /^[\u4e00-\u9fa5_a-zA-Z0-9]+$/ return reg.test(str) } /* Legale URI */ Exportfunktion validateURL (textval) { const urlregex = /^(https?|ftp):\/\/([a-zA-Z0-9.-]+(:[a-zA-Z0-9.&%$-]+)*@)*((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]?)(\.(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])){3}|([a-zA-Z0-9-]+\.)*[a-zA-Z0-9-]+\.(com|edu|gov|int|mil|net|org|biz|arpa|info|name|pro|aero|coop|museum|[a-zA-Z]{2}))(:[0-9]+)*(\/($|[a-zA-Z0-9.,?'\\+&%$#=~_-]+))*$/ gibt urlregex.test(textval) zurück } /* Kleinbuchstaben*/ Exportfunktion validateLowerCase (str) { const reg = /^[az]+$/ return reg.test(str). } /* Großbuchstabe*/ Exportfunktion validateUpperCase (str) { const reg = /^[AZ]+$/ return reg.test(str) } /* Groß- und Kleinbuchstaben*/ Exportfunktion validateAlphabets (str) { const reg = /^[A-Za-z]+$/ return reg.test(str) } /** * E-Mail bestätigen * @param E-Mail * @returns {boolean} */ 2. Erstellen Sie eine neue Datei filter_rules.js: Dieses Dokument enthält Validierungsrückruffunktionen und Validierungsfelder. Angefügter Code: importiere { isvalidMobile, regexn, noFuNumber } von '@/utils/validate' Standard exportieren { installieren (Vue) { /** * Hinweis: Beim Definieren von Typregeln müssen Sie keine Validierung auf Nicht-Leerzeichen durchführen. * Sie müssen nur required:true übergeben. * / /* Überprüfen Sie, ob die Zahl nicht negativ ist */ const isnoFuNumber = (Regel, Wert, Rückruf) => { wenn (Wert != null und Wert !== '') { wenn (!keineFuZahl(Wert)) { callback(new Error('Bitte geben Sie eine nicht negative Zahl ein!')) } anders { Rückruf() } } anders { Rückruf() } } /* Telefonnummer bestätigen*/ const isvalidateMobile = (Regel, Wert, Rückruf) => { wenn (Wert != null und Wert !== '') { wenn (!isvalidMobile(Wert)) { callback(new Error('Bitte geben Sie eine gültige Handynummer ein!')) } anders { Rückruf() } } anders { Rückruf() } } /* Enthält ungültige Zeichen (nur Chinesisch, Englisch und Zahlen können eingegeben werden) */ const isvalidateRegexn = (Regel, Wert, Rückruf) => { wenn (Wert != null und Wert !== '') { wenn (!regexn(Wert)) { callback(new Error('Enthält ungültige Zeichen (nur Chinesisch, Englisch und Zahlen können eingegeben werden)!')) } anders { Rückruf() } } anders { Rückruf() } } /* Bitte geben Sie eine positive Ganzzahl ein*/ // const isvalidateInteger = (Regel, Wert, Rückruf) => { // wenn (Wert != null und Wert != "") { // wenn (!integer(Wert)) { // Rückruf (neuer Fehler (,,Bitte geben Sie eine positive Ganzzahl ein!'')) // } anders { // Rückruf() // } // } // anders { // Rückruf(); // } // } /** * Parameterelement * erforderlich true Erforderliches Feld* maxLength Maximale Länge der Zeichenfolge* min und max müssen gleichzeitig angegeben werden min < max Typ=Zahl * Handynummer eingeben * E-Mail * URL * Verschiedene benutzerdefinierte Typdefinitionen werden kontinuierlich in src/utils/validate hinzugefügt....... * */ Vue.prototype.filter_rules = Funktion (Element) { lass Regeln = [] wenn (Artikel.erforderlich) { rules.push({ required: true, message: ‚Diese Eingabe ist erforderlich!‘, trigger: ‚blur‘ }) } wenn (Element.maxLength) { rules.push({ min: 1, max: item.maxLength, message: 'Geben Sie höchstens ein' + item.maxLength + 'Zeichen!', trigger: 'blur' }) } wenn (Artikel.min && Artikel.max) { rules.push({ min: item.min, max: item.max, message: ,,Die Zeichenlänge liegt zwischen ' + item.min + ' und ' + item.max + '!', trigger: ,,blur' }) } wenn (Artikeltyp) { let Typ = Artikeltyp Schalter (Typ) { // Fall „E-Mail“: // rules.push({ type: 'email', message: 'Bitte geben Sie eine gültige E-Mail-Adresse ein', trigger: 'blur,change' }) // unterbreche isnoFuNumber Fall „aktive Bestellung“: Regeln.push({ validator: isnoFuNumber, trigger: 'unscharf' }) brechen Fall 'mobil': Regeln.push({ validator: isvalidateMobile, trigger: 'blur' }) brechen Fall 'Name': rules.push({ validator: isvalidateRegexn, message: ‚Bitte geben Sie einen gültigen Benutzernamen ein‘, trigger: ‚blur‘ }) brechen Fall 'Passwort': rules.push({ validator: isvalidateRegexn, message: ‚Bitte geben Sie Ihr Passwort ein‘, trigger: ‚blur‘ }) brechen Fall „Org_Name“: rules.push({ validator: isvalidateRegexn, message: ‚Organisationsname darf keine Sonderzeichen enthalten‘, trigger: ‚blur‘ }) brechen Standard: Regeln.push({}) brechen } } Rückgaberegeln } } } 3. Auf der Seite vorstellen: Importieren Sie Validate aus '@/utils/filter_rules' 4. Verwenden Sie die Überprüfung auf der Seite: Die Validierungsregeln müssen in das Tag „el-form-item“ geschrieben werden. Es ist zu beachten, dass: Die Namen dieser drei Orte sollten einheitlich geschrieben werden. 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. Das könnte Sie auch interessieren:
|
<<: Ubuntu 20.04 – Bestes Konfigurationshandbuch (unverzichtbar für Anfänger)
>>: Was ist schneller: MySQL-Volltextindex, gemeinsamer Index, Like-Abfrage und JSON-Abfrage?
1. Den aktuellen Hostnamen anzeigen [root@fangjia...
1. Erstellen Sie eine Planungsaufgabe Anweisung c...
1 Einleitung Das Binärprotokoll zeichnet SQL-Anwe...
Vorwort Nachdem ich lange Zeit verschiedene Mater...
Wirkung der Operation: html <!-- Dieses Elemen...
Voraussetzungen für die Installation von MySQL: I...
Inhaltsverzeichnis 1. Reagieren.Children.map 2. R...
Die Datenmigration muss von MySQL nach ClickHouse...
Inhaltsverzeichnis Vorwort Was ist VueUse Einfach...
Inhaltsverzeichnis 1. Grundkonzepte von GTID 2. G...
Inhaltsverzeichnis Überblick Funktionalität und L...
Dieser Artikel stellt vor, wie Sie IP-Adressdaten...
MySQL-Versionen werden in Enterprise Edition und ...
Inhaltsverzeichnis 1. useState-Hook 2. useRef-Hoo...
Inhaltsverzeichnis Lassen Sie uns zunächst über d...