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

Detaillierte Erklärung der Linux-Systemverzeichnisse sys, tmp, usr, var!

Der Wachstumspfad vom Linux-Neuling zum Linux-Mei...

So starten Sie ein Vue.js-Projekt

Inhaltsverzeichnis 1. Node.js und Vue 2. Führen S...

Vollständige Schritte zum Bereitstellen von Confluence mit Docker

Confluence ist kostenpflichtig, kann aber für die...

So fügen Sie einer großen MySQL-Tabelle eine Spalte hinzu

Die Frage wird hier zitiert: https://www.zhihu.co...

So überwachen Sie die Windows-Leistung auf Zabbix

Hintergrundinformationen Ich habe kürzlich einige...

Grafisches Tutorial zur Offline-Installation und Konfiguration von MySQL 8.0.2

Die Offline-Installationsmethode von MySQL_8.0.2 ...

MySQLs konzeptionelles Verständnis verschiedener Sperren

Optimistisches Sperren Optimistisches Sperren wir...

Schritte zur Installation von GRUB auf einem Linux-Server

So installieren Sie GRUB für Linux Server Sie kön...

Eine kurze Analyse des Funktionsaufrufprozesses unter der ARM-Architektur

Inhaltsverzeichnis 1. Hintergrundwissen 1. Einfüh...

Wie kompliziert ist die Priorität von CSS-Stilen?

Gestern Abend habe ich mir eine Interviewfrage ang...

Vue implementiert einfache Kommentarfunktion

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