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()
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了