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?
Der Wachstumspfad vom Linux-Neuling zum Linux-Mei...
Inhaltsverzeichnis 1. Node.js und Vue 2. Führen S...
Confluence ist kostenpflichtig, kann aber für die...
Überblick Binlog2sql ist ein Open-Source-MySQL-Bi...
Die Frage wird hier zitiert: https://www.zhihu.co...
Vielleicht habe ich angefangen, falsch zu denken,...
Hintergrundinformationen Ich habe kürzlich einige...
Die Offline-Installationsmethode von MySQL_8.0.2 ...
Optimistisches Sperren Optimistisches Sperren wir...
So installieren Sie GRUB für Linux Server Sie kön...
Inhaltsverzeichnis 1. Hintergrundwissen 1. Einfüh...
Inhaltsverzeichnis 1. Template-Tag in HTML5 2. Ei...
Gestern Abend habe ich mir eine Interviewfrage ang...
Dieser Artikel dokumentiert die Installation von ...
In diesem Artikel wird der spezifische Code von V...