element-ui表单自定义校验

1.问题描述

  项目开发过程中,遇到表单校验,这次的校验规则比较严,element-ui 表单自带的校验完全解决不了问题。

    

2.解决方法

  使用 element-ui 表单校验中的自定义校验,validUsername是自定义的校验方法名称

  2.1 定义表单校验:

rules: {
    userTypeId: [
        { required: true, message: '请选择类型', trigger: 'change' }
    ],
    username: [
        { required: true, validator: validUsername, trigger: 'blur' }
    ]
}

  2.2 自定义校验方法:
  注意:方法中一定义要返回 callback(),不然表单校验时是不会成功的

复制代码
data() {
    // js部分
    const validUsername = (rule, value, callback) => {
        const reg = /^(?=.*[A-Za-z])(?=.*\d)[A-Za-z\d]{6,18}$/
        if (value === '') {
            callback(new Error('请输入用户名'))
        } else if (!reg.test(value)) {
            callback(new Error('用户名必须是由6-18位英文(含大小写)+数字组成'))
        } else {
            callback()
        }
    }
}
复制代码

3.表单校验

this.$refs.ruleForm.validate((valid) => {
    if (valid) {
        console.log('表单校验成功')
    }
})

4.清除表单校验结果
  取消按钮可能使用到

this.$refs.pwdChangeForm.clearValidate()

 

posted @   田心夂  阅读(137)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示