Vue implementiert eine Formularvalidierungsfunktion

Vue implementiert eine Formularvalidierungsfunktion

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:
  • Wissen Sie wirklich, wie man eine Vue-Formularvalidierung durchführt? Vue-Formularvalidierung (Formular) validieren
  • Detaillierte Erklärung zur Verwendung von Vue Validator, einem Vue-Formularvalidierungs-Plugin
  • Bei der Formularvalidierung von Vue ElementUI sind Probleme aufgetreten
  • Vue+elementUI implementiert ein Beispiel für eine Formular- und Bild-Upload- und Überprüfungsfunktion
  • Validierungsmethode für Formularelemente in einer V-For-Schleife bei Verwendung der Elementkomponente in Vue
  • Vue implementiert schnell eine universelle Formularvalidierungsfunktion
  • Implementierung der Vue Elementui-Formularvalidierung
  • Vue verwendet Element-UI, um die Formularvalidierung zu implementieren
  • Vue implementiert eine kleine Formularvalidierungsfunktion
  • Vue implementiert ein Formular, um eine Feldvalidierung separat zu entfernen

<<:  Ubuntu 20.04 – Bestes Konfigurationshandbuch (unverzichtbar für Anfänger)

>>:  Was ist schneller: MySQL-Volltextindex, gemeinsamer Index, Like-Abfrage und JSON-Abfrage?

Artikel empfehlen

Win10 Installation Linux System Tutorial Diagramm

Um eine virtuelle Maschine auf einem Windows-Syst...

Detailliertes Tutorial zur Verwendung von stimulsoft.reports.js mit vue-cli

vue-cli verwendet stimulsoft.reports.js (Tutorial...

Javascript implementiert einfache Navigationsleiste

In diesem Artikel wird der spezifische Code von J...

Allgemeine Datentypen in MySQL 5.7

——Anmerkungen aus „MySQL in einfachen Worten (zwe...

So generieren Sie eine Vue-Benutzeroberfläche per Drag & Drop

Inhaltsverzeichnis Vorwort 1. Technisches Prinzip...

Beispiel für die Verwendung von UserMap in IMG

usemap ist ein Attribut des <img>-Tags, das ...

30 Tipps zum Schreiben von HTML-Code

1. HTML-Tags immer schließen Im Quellcode der vor...

Grafisches Tutorial zur Installation und Konfiguration von MySQL 5.7.25

Es gibt zwei Arten von MySQL-Installationsdateien...

Detaillierte Erklärung, wie Node.js mit ES6-Modulen umgeht

Inhaltsverzeichnis 1. Unterschiede zwischen den b...