自定义校验手机号
// 验证手机号的自定义规则
var checkMoblie = (rule, value, cb) => {
//验证手机号的正则表达式
const regMobile =
/^1(3[0-9]|4[01456879]|5[0-35-9]|6[2567]|7[0-8]|8[0-9]|9[0-35-9])\d{8}$/
if (regMobile.test(value)) {
//合法的手机号
return cb()
}
cb(new Error('请输入正确的手机号'))
}
然后再rules中添加
editFormRules: {
mobile: [
{ required: true, message: '请输入手机号', trigger: 'blur' },
{ validator: checkMoblie, trigger: 'blur' },
],
},
自定义邮箱验证规则
// 验证邮箱的自定义规则
var checkEmail = (rule, value, cb) => {
// 验证邮箱的正则表达式
const regEmail = /^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(\.[a-zA-Z0-9_-])+/
if (regEmail.test(value)) {
//合法的邮箱
return cb()
}
cb(new Error('请输入合法的邮箱'))
}
在rules中添加
data(){
return{
editFormRules: {
email: [
{ required: true, message: '请输入邮箱', trigger: 'blur' },
{ validator: checkEmail, trigger: 'blur' },
],
mobile: [
{ required: true, message: '请输入手机号', trigger: 'blur' },
{ validator: checkMoblie, trigger: 'blur' },
],
},
}
}
需要注意的是,editFormRules是自己起的名字,需要和form中定义的相同,并且rules是在data中定义的
<el-form
:model="editForm"
:rules="editFormRules"
ref="editFormRef"
label-width="70px"
>
最终给大家展示一下把上述写在一起的效果
data() {
// 验证邮箱的自定义规则
var checkEmail = (rule, value, cb) => {
// 验证邮箱的正则表达式
const regEmail = /^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(\.[a-zA-Z0-9_-])+/
if (regEmail.test(value)) {
//合法的邮箱
return cb()
}
cb(new Error('请输入合法的邮箱'))
}
// 验证手机号的自定义规则
var checkMoblie = (rule, value, cb) => {
//验证手机号的正则表达式
const regMobile =
/^1(3[0-9]|4[01456879]|5[0-35-9]|6[2567]|7[0-8]|8[0-9]|9[0-35-9])\d{8}$/
if (regMobile.test(value)) {
//合法的手机号
return cb()
}
cb(new Error('请输入正确的手机号'))
}
return {
editFormRules: {
email: [
{ required: true, message: '请输入邮箱', trigger: 'blur' },
{ validator: checkEmail, trigger: 'blur' },
],
mobile: [
{ required: true, message: '请输入手机号', trigger: 'blur' },
{ validator: checkMoblie, trigger: 'blur' },
],
},
}
},