element-ui自定义规则

       我们在表单中使用表单验证时,一般在<el-form></el-form>标签中添加“ :rules="xxx" ”来绑定验证规则,

<el-form :model="addForm" :rules="addFormRules" ref="addFormRef" label-width="100px">
    <el-form-item label="用户名:" prop="username">
        <el-input v-model="addForm.username" placeholder="请输入用户名称" />
    </el-form-item>、

    <el-form-item label="密码:" prop="pwd">
        <el-input v-model="addForm.pwd" placeholder="请输入密码" />
    </el-form-item>
                    
    <el-form-item label="邮箱:" prop="email">
        <el-input v-model="addForm.email" placeholder="请输入用户邮箱" />
    </el-form-item>
                    
    <el-form-item label="手机:" prop="mobile">
        <el-input v-model="addForm.mobile" placeholder="请输入用户手机号码" />
    </el-form-item>
</el-form>

在data中完成校验规则书写

addFormRules:{
    username: [
        {required:true,message:'请输入用户名', trigger:'blur'},
        {min: 3, max: 10, message: '用户名的长度在3~10个字符之间'}
    ],

    pwd: [
        {required:true,message:'请输入密码', trigger:'blur'},
        {min: 6, max: 15, message: '用户名的长度在6~15个字符之间'}
    ],

    email: [
        {required:true,message:'请输入邮箱', trigger:'blur'},
        {validator: checkEmail, trigger: 'blur'}
    ],

    mobile: [
        {required:true,message:'请输入邮箱', trigger:'blur'},
        {validator: checkMobile, trigger: 'blur'}
    ]
}

在项目开发过程中,我们对手机号码和邮箱的校验通常采用自定义规则。自定义规则需要在校验规则对象中用 validator: xxx 来配置,然后在data中实现该方法

{validator: checkMobile, 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()
            }else{
                cb(new Error('请输入合法的邮箱'))
            }
        }

        //验证手机号的规则
        var checkMobile = (rule , value , cb) => {
            const regMobile = /^(0|86|17951)?(13[0-9)|15[0123456789]|17[678]|18[0-9]|14[57])[0-9]{8}$/
            if(regMobile.test(value)){
                return cb()
            }else{
                cb(new Error('请输入合法的手机号码'))
            }
        }

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值