Es gibt viele Möglichkeiten, Formularfelder in Vue zu schreiben und zu validieren. Dieser Blog stellt drei weitere häufig verwendete Validierungsmethoden vor. 1. Daten zur Überprüfung eintragenFormularinhalte <!-- Formular --> <el-form ref="RegelnForm" :Regeln="FormRegeln" :model="RegelnForm" label-width="200px"> <el-form-item label="Benutzername:" prop="Benutzername"> <el-input v-model="rulesForm.Benutzername" style="width:300px" maxlength="50"/> </el-form-item> </el-form>
Daten Daten() { zurückkehren { //Andere Datendefinitionen weglassen... // Formularvalidierung formRules: { Benutzername: [ {erforderlich: true,Nachricht: "Bitte geben Sie Ihren Benutzernamen ein",Trigger: "blur"} ] } } }
2. Inline schreibenFormularinhalte <!-- Formular --> <el-form ref="RegelnForm" :Regeln="FormRegeln" :model="RegelnForm" label-width="200px"> <el-form-item label="Bankname:" prop="accountName" :rules="[{required:true,message:'Bitte geben Sie den Banknamen ein',trigger:'blur'}]"> <el-input v-model="rulesForm.accountName" style="width:300px" maxlength="50"/> </el-form-item> </el-form>
Daten Daten haben keinen Inhalt 3. Extern definierte Regeln importierenFormularinhalte <!-- Formular --> <el-form ref="RegelnForm" :Regeln="FormRegeln" :model="RegelnForm" label-width="200px"> <el-form-item label="Bankkartennummer:" prop="Kontonummer"> <el-input v-model="rulesForm.accountNumber" style="width:300px" maxlength="19"/> </el-form-item> </el-form> Der Formularinhalt entspricht der ersten Methode, daher werde ich hier nicht näher darauf eingehen. Skriptinhalt <Skript> // Einführung externer Validierungsregeln import { validateAccountNumber } from "@/utils/validate"; // Bestimmen Sie, ob das Bankkartenkonto korrekt ist const validatorAccountNumber = (rule, value, callback) => { wenn (!Wert) { return callback(new Error("Bitte geben Sie Ihre Kontoinformationen ein")); } anders { wenn (validateAccountNumber(Wert)) { Rückruf(); } anders { return callback(new Error('Falsches Kontoformat')) } } }; Standard exportieren { Daten() { zurückkehren { //Andere Datendefinitionen weglassen... // Formularvalidierung formRules: { Kontonummer: [ {erforderlich: true, Validator: validatorAccountNumber, Auslöser: "blur"} ] } } } } </Skript>
validieren.js /* Bankkonto */ Exportfunktion validateAccountNumber(str) { const reg = /^([1-9]{1})(\d{14}|\d{18})$/ return reg.test(str) }
Bei den oben genannten Überprüfungen handelt es sich um Überprüfungen bei Fokusverlust. Lassen Sie uns analysieren, wie überprüft wird, wann das Formular übermittelt wird. 1. Absenden-Button des Formulars <!-- Formular --> <el-form ref="RegelnForm" :Regeln="FormRegeln" :model="RegelnForm" label-width="200px"> <el-form-item> <el-button type="primary" @click="onSubmit('rulesForm')">Speichern</el-button> <el-button @click="cancel">Abbrechen</el-button> </el-form-item> </el-form>
2. Methoden Methoden: { // Speichern onSubmit(formName) { dies.$refs[formName].validate(valid => { if (gültig) { console.log("Senden erfolgreich!!"); }anders{ console.log("Fehler beim Senden!!"); } }); }, // Abbrechen cancel() { } } this.$refs[formName].validate: formName ist das übergebene „rulesForm“, das mit dem rel-Attributwert des <el-form>-Formulars übereinstimmt, sodass das zu validierende Formular angegeben wird Der vollständige Beispielcode lautet wie folgt 1. Regeln.vue <Vorlage> <div Klasse="App-Container"> <el-tabs v-model="aktiverName"> <el-tab-pane label="Formular" name="rulesPane" @tab-click="handleClick"> <!-- Formular --> <el-form ref="RegelnForm" :Regeln="FormRegeln" :model="RegelnForm" label-width="200px"> <el-form-item label="Benutzername:" prop="Benutzername"> <el-input v-model="rulesForm.Benutzername" style="width:300px" maxlength="50"/> </el-form-item> <el-form-item label="Bankname:" prop="accountName" :rules="[{required:true,message:'Bitte geben Sie den Banknamen ein',trigger:'blur'}]"> <el-input v-model="rulesForm.accountName" style="width:300px" maxlength="50"/> </el-form-item> <el-form-item label="Bankkartennummer:" prop="Kontonummer"> <el-input v-model="rulesForm.accountNumber" style="width:300px" maxlength="50"/> </el-form-item> <el-form-item> <el-button type="primary" @click="onSubmit('rulesForm')">Speichern</el-button> <el-button @click="cancel">Abbrechen</el-button> </el-form-item> </el-form> </el-tab-pane> </el-tabs> </div> </Vorlage> <Skript> importiere { validateAccountNumber } aus "@/utils/validate"; // Bestimmen Sie, ob das Bankkartenkonto korrekt ist const validatorAccountNumber = (rule, value, callback) => { wenn (!Wert) { return callback(new Error("Bitte geben Sie Ihre Kontoinformationen ein")); } anders { wenn (validateAccountNumber(Wert)) { Rückruf(); } anders { return callback(new Error('Falsches Kontoformat')) } } }; Standard exportieren { Name: "Regeln", Daten() { zurückkehren { ActiveName: "Regelbereich", Standardeigenschaften: { Kinder: "Kinder", Bezeichnung: "Bezeichnung" }, RegelnForm: { }, // Formularvalidierung formRules: { Benutzername: [ { erforderlich: wahr, Meldung: "Bitte geben Sie Ihren Benutzernamen ein", Auslöser: „Unschärfe“ } ], Kontonummer: [ { erforderlich: wahr, validator: validatorAccountNumber, Auslöser: „Unschärfe“ } ], } }; }, erstellt() {}, montiert() {}, Methoden: { handleClick(tab) { }, // Abbrechen cancel() { }, // Speichern onSubmit(formName) { dies.$refs[formName].validate(valid => { if (gültig) { console.log("Senden erfolgreich!!"); } anders { console.log("Fehler beim Senden!!"); gibt false zurück; } }); } } }; </Skript> <style lang="scss"> </Stil> 2. validieren.js /* Bankkonto */ Exportfunktion validateAccountNumber(str) { const reg = /^([1-9]{1})(\d{14}|\d{18})$/ return reg.test(str) } Rendern 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:
|
<<: So verwenden Sie IDEA zum Konfigurieren von Tomcat und Erstellen von JSP-Dateien
>>: Analyse der Prinzipien und Verwendung von Linux-Hardlinks und Softlinks
Hintergrund Als ich in diesen beiden Tagen Docker...
Die Verwendung von H-Tags, insbesondere h1, war sc...
In diesem Artikel wird der spezifische Code von V...
Bei der Verwendung von Navicat zum Herstellen ein...
Datensicherung und -wiederherstellung Teil 3, Det...
Ich muss in letzter Zeit bei der Arbeit oft die N...
Einführung in die logische MySQL-Architektur Über...
Heute möchte ich einen Countdown von Vue und Mome...
Ich bin auf den MySQL-FEHLER 1045 gestoßen und ha...
Inhaltsverzeichnis Vorwort 1. Ereignisse und Zwis...
[Wer ist nslookup?] 】 Der Befehl nslookup ist ein...
Zeit(); Funktion Funktionsprototyp: time_t time(t...
In diesem Artikel finden Sie das Installations-Tu...
1. Holen Sie sich das MySQL-Image Docker-Pull MyS...
Inhaltsverzeichnis Unsinn Implementierte Funktion...