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

So ändern Sie den Hostnamen in Linux

1. Den aktuellen Hostnamen anzeigen [root@fangjia...

Eine kurze Analyse der Crontab-Aufgabenplanung in Linux

1. Erstellen Sie eine Planungsaufgabe Anweisung c...

Ausführliche Erklärung des Binlogs in MySQL 8.0

1 Einleitung Das Binärprotokoll zeichnet SQL-Anwe...

CSS3 realisiert den leuchtenden Randeffekt

Wirkung der Operation: html <!-- Dieses Elemen...

CentOS7 64-Bit-Installation MySQL Grafik-Tutorial

Voraussetzungen für die Installation von MySQL: I...

Detaillierte Verwendung von React.Children

Inhaltsverzeichnis 1. Reagieren.Children.map 2. R...

5 Möglichkeiten zur Migration von MySQL zu ClickHouse

Die Datenmigration muss von MySQL nach ClickHouse...

Spezifische Verwendung von Vues neuem Spielzeug VueUse

Inhaltsverzeichnis Vorwort Was ist VueUse Einfach...

Analyse des MySQL-Beispiels DTID Master-Slave-Prinzip

Inhaltsverzeichnis 1. Grundkonzepte von GTID 2. G...

Tiefes Verständnis der JavaScript-Syntax und Codestruktur

Inhaltsverzeichnis Überblick Funktionalität und L...

MySQL verwendet inet_aton und inet_ntoa, um IP-Adressdaten zu verarbeiten

Dieser Artikel stellt vor, wie Sie IP-Adressdaten...

Detailliertes Tutorial zum Herunterladen von MySQL unter Windows 10

MySQL-Versionen werden in Enterprise Edition und ...

Einführung in useRef und useState in JavaScript

Inhaltsverzeichnis 1. useState-Hook 2. useRef-Hoo...

So implementieren Sie eine bidirektionale Bindungsfunktion in vue.js mit reinem JS

Inhaltsverzeichnis Lassen Sie uns zunächst über d...