針對表單有許多的驗(yàn)證要做鹉究,這個簡單詮釋了驗(yàn)證的寫法
1、vue 頁面代碼
<a-spin :spinning="confirmLoading">
<a-form :form="form">
<a-form-item
label="bizCode"
:labelCol="labelCol"
:wrapperCol="wrapperCol"
has-feedback="">
<a-input placeholder="請輸入bizCode"
v-decorator="['bizCode', {rules: [
{required: true, message: '請輸入bizCode!'},
{ min: 3, max: 4, message: 'bizCode需在2-4位之間', trigger: 'blur' },
{required: true, message: '請?zhí)顚戉]箱响疚!'},
{validator:EmailValidator}
]}]"/>
</a-form-item>
2、vue 驗(yàn)證規(guī)則代碼
methods: {
EmailValidator(rule, value, callback){
const idcardReg = /^[A-Za-z\d]+([-_.][A-Za-z\d]+)*@([A-Za-z\d]+[-.])+[A-Za-z\d]{2,4}$/
if (!idcardReg.test(value)) {
// eslint-disable-next-line standard/no-callback-literal
callback('郵箱格式不正確')
}
// Note: 必須總是返回一個 callback瞪醋,否則 validateFieldsAndScroll 無法響應(yīng)
callback()
}
}
3忿晕、其他的一些驗(yàn)證規(guī)則
// 手機(jī)號驗(yàn)證
MobileNumberValidator (rule, value, callback) {
const idcardReg = /^1(3|4|5|6|7|8|9)\d{9}$/
if (!idcardReg.test(value)) {
// eslint-disable-next-line standard/no-callback-literal
callback('非法格式')
}
// Note: 必須總是返回一個 callback,否則 validateFieldsAndScroll 無法響應(yīng)
callback()
},
// 郵箱驗(yàn)證
EmailValidator (rule, value, callback) {
const idcardReg = /^[A-Za-z\d]+([-_.][A-Za-z\d]+)*@([A-Za-z\d]+[-.])+[A-Za-z\d]{2,4}$/
if (!idcardReg.test(value)) {
// eslint-disable-next-line standard/no-callback-literal
callback('非法格式')
}
// Note: 必須總是返回一個 callback银受,否則 validateFieldsAndScroll 無法響應(yīng)
callback()
},
// 身份證驗(yàn)證
IDValidator (rule, value, callback) {
const idcardReg = /^[1-9][0-9]{5}(19|20)[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|31)|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|[1-2][0-9]))[0-9]{3}([0-9]|x|X)$/
if (!idcardReg.test(value)) {
// eslint-disable-next-line standard/no-callback-literal
callback('非法格式')
}
// Note: 必須總是返回一個 callback践盼,否則 validateFieldsAndScroll 無法響應(yīng)
callback()
}