Heim > Artikel > Web-Frontend > Grundelemente der Elementformularvalidierung in Vue
Dieser Artikel stellt hauptsächlich die Grundelemente der Element-Formularvalidierung in Vue vor. Jetzt kann ich ihn mit Ihnen teilen.
Element verwendet hauptsächlich Async-Validator Die Bibliothek ist hauptsächlich in drei Teile unterteilt: Formularvalidierung
async-validator
Validieren
Optionen
Regeln
Davon sind Regeln für uns am wichtigsten, wenn wir Element verwenden, und es ist auch der Teil mit dem meisten Inhalt.
Grundlegende Verwendung von async-validator
import Validator from 'async-validator' // 规则的描述 const rules = { name: { type: 'string', required: true } } // 根据规则生成验证器 const validator = new Validator(rules) // 要验证的数据源 const source = { name: 'LanTuoXie' } // 验证后的回调函数 function callback (errors, fileds) { if (errors) { // 验证不通过,errors是一个数组,记录那些不通过的错误信息 // fileds是所有数据源的字段名,也即上面的source的'name' // 验证是根据字段名来的,rules.name 对应 source.name。 字段名要一样才会验证 } // 下面是验证通过的逻辑 } // 验证数据源是否符合规则 validator.validate(source, callback)
Validieren
Das ist it Der validator.validate im Beispiel ist eine Funktion
function(source, [options], callback)
Quelle und Rückruf entsprechend dem obigen Beispiel.
Optionen
Optionen hat zwei Werte
first
: ein boolescher Wert, wenn das Feld dies nicht ist übergeben, Beenden Sie das Feld hinter der Validierung
firstFields
: Boolescher Wert oder String. Wenn eine Regel bei der Validierung eines Felds nicht erfolgreich ist, beenden Sie die Validierung der nächsten Regel (eines Felds). , mehrere Regeln) )
firstFields
wird verwendet, wenn mehrere Regeln für ein einzelnes Feld vorhanden sind, während first
für alle Felder
verwendet wird Regeln
Das Wichtigste sind Regeln. Regeln können in drei Formen definiert werden, der Feldname der Regel muss jedoch mit dem Feldnamen der Datenquelle übereinstimmen.
Funktionsmodus: { name(rule, value, callback, source, options) {} }
Objektmodus: { name: { type: 'string', required: true } }
Array-Methode : { name: [{ type: 'string' }, { required: true }] }
Wie Sie oben sehen können, kann der Feldname auf drei Arten definiert werden. Bei Verwendung von Element werden weiterhin die Objekt- und Array-Methoden empfohlen ist relativ einfach und die Funktion wird je nach Situation verwendet.
Was kann zusätzlich zu type
und required
noch verwendet werden und wozu dient es?
type
: Die zu überprüfenden Datentypen sind wie url
und number
usw.
required
: Ist es erforderlich?
pattern
: Verwenden Sie reguläre Ausdrücke zur Überprüfung
min
: Die Länge der Daten. Mindestwert von (Datentyp muss string
oder array
sein).
max
: Maximalwert der Datenlänge (Datentyp muss sein sei string
oder array
)
len
: Die Länge der Daten muss diesem Wert entsprechen (der Datentyp muss string
oder array
sein)
enum
: Der Wert der Daten muss einem bestimmten Element dieses Aufzählungsarrays entsprechen { enum: [1, 2, 3] }
transform
: Eine Hook-Funktion, die die Daten verarbeiten und dann überprüfen kann, bevor die Überprüfung beginnt. Konvertieren Sie beispielsweise number
in string
und überprüfen Sie dann
message
: Der Fehler Nachricht kann eine Zeichenfolge oder ein jsx-Tag sein 45a2772a6b6107b401db3c9b82c049c2Name is required54bdf357c58b8a65c66d7c19c8e4d114
validator
: Benutzerdefinierte Überprüfungsfunktion und Fehlermeldungvalidator(rule, value, callback)
Da ist auch ein Deep Rules, das object
- oder array
-Typen verarbeitet. Wird fields
oder defaultField
fields
verwendet: Wird verwendet, wenn Deep Rules zum Definieren des Felds verwendet wird Namen und Regeln der nächsten Ebene
defaultField
: Wird bei Verwendung von Deep Rules verwendet. Alle Felder in der nächsten Ebene übernehmen diese Regel und können durch fields
string
: Muss vom Typ „String“ sein. Wenn die Regel den Typ nicht festlegt, ist der Standardtyp dieser
number
: Muss vom Typ „Zahl“ sein, wenn die vom Hintergrund zurückgegebenen Daten ein Zeichen sind. Zeichenfolgen können mit transform
nicht in den Typ „Zahl“ konvertiert werden bestehen. Bitte beachten Sie, dass
boolean
: vom booleschen Typ sein muss
method
: Funktion sein muss
regexp
: Muss regulärer RegExp sein
integer
: Es ist eine positive Ganzzahl vom Typ Zahl
float
: Es ist eine Gleitkommazahl vom Typ Zahl
array
: Es ist ein Array, das von isArray übergeben wird
object
: Objekttyp wird nicht von Array.isArray übergeben
enum
: enum muss zuerst definiert werden, und dann muss der Wert ein bestimmter Wert von enum
: muss eine Instanz des Date-Objekts sein date
: String-Typ und entspricht dem Linkformat url
hex
: String-Typ und entspricht dem E-Mail-Format email
cosnt urls = ['http://www.baidu.com', 'http://www.baidu.com'] // 一个urls的数组, const rules = { urls: { type: 'array', required: true, defaultField: { type: 'url' } } }
const ids = { name: 'LanTuoXie', age: 12, spc: '帅' } const rules = { ids: { type: 'object', required: true, fields: { name: { type: 'string', required: true }, age: { type: 'number', required: true, tranform: Number }, spc: { type: 'string', required: true } } } }
validator(rule, value, callback)
rule
: 记录了验证字段的字段名以及规则的信息
value
: 要验证的值
callback
: 如果callback()
代表验证通过,如果callback(new Error('错误要提示的信息'))
代表验证不通过
// 验证是[min, max]范围内的正整数 const betweenInt = (min, max) => (rule, v, cb) => { const isBetween = v >= min && v <= max const isInt = /^[0-9]+$/.test(v) if (isBetween && isInt) return cb() return cb(new Error(`要求是在${min}到${max}的正整数 [${min}, ${max}]`)) } const rules = { num: { validator: betweenInt(1, 5), required: true } }
以上就是本文的全部内容,希望对大家的学习有所帮助,更多相关内容请关注PHP中文网!
相关推荐:
vue项目中如何实现保存头像以及base64字符串转图片的功能
Das obige ist der detaillierte Inhalt vonGrundelemente der Elementformularvalidierung in Vue. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!