亦庄网站建设价格,深圳百度推广电话,wordpress静态生成,网站建设模型前言
在使用ElementUI的表单元素时候#xff0c;除了做一些简单的非空处理校验#xff0c;在一些特殊的场合#xff0c;还需要我们做一些自定义校验。
其实ElementUI不仅提供了基本的非空校验#xff0c;也对我们提供了自定义检验。
在使用的时候还是遇到了一些坑#…前言
在使用ElementUI的表单元素时候除了做一些简单的非空处理校验在一些特殊的场合还需要我们做一些自定义校验。
其实ElementUI不仅提供了基本的非空校验也对我们提供了自定义检验。
在使用的时候还是遇到了一些坑下面简单的总结分享下
非空校验
知道自定义校验之前需要知道基本的非空校验
如下图ElementUI已经帮助我们创建好了一个简单的demo我们直接拿来用即可。 这里我也是直接复制的demo然后根据自己需求进行修改。 简单的说下相关的一些地方吧
一个表单包含着很多页面元素根据自己的需求使用不同的组件去拼接即可 表单的元素我们可以直接在data生成一个表单数据把里面的属性都放在数据里面这样可以直接把这个表单传到后台进行交互。不然一个一个传也太麻烦了 然后就是检验(rules)这里一般做对表单元素校验的处理
除了手机号密码确认密码这三项我都是只做了最基本的非空校验。 我们可以注意到每一个表单元素都有一个红色的星号这就是必输项的一个标识我们主要通过这个属性控制
required: true比如我现在把用户名的required: true去掉 页面上的非空校验就没了所以不论你校验写的再好不加这个属性就等于没用。 自定义校验
我主要以两个较为经典的例子举例一个是手机号的格式一个是密码和确认密码的判断是否相同
关于表单的自定义校验ElementUI也给了demo就是我的第二个例子 大家都知道手机号都是有一定的规则的不是只有11位数字就是这么简单的还要以固定格式开头等。
定义自定义校验函数
针对这种格式我们就可以使用自定义校验了我们可以在data中定义自定义校验 可以理解成把它理解成一个变量有着自定义的回调函数进行自定义错误提示
可以看到首先是判断输入的手机号是否为空如果为空给出的提示是请输入手机号码
如果输入的手机号不为空那么就通过正则表达式判断是否合法如果不合法的话同样给出对应的提示信息这便是自定义校验根据自己的需求定义自己的规则。 // 校验手机号是否合法var checkPhone (rule, value, callback) {if (value ) {callback(new Error(请输入手机号码))} else if (!/^(13[0-9]|14[5|7]|15[0|1|2|3|4|5|6|7|8|9]|18[0|1|2|3|5|6|7|8|9])\d{8}$/.test(value)) {callback(new Error(手机号格式有误,请输入正确的手机号码))} else {callback()}};使用自定义校验函数
使用起来也很简单在原有的表单校验基础上加上validator属性值就是定义自定义函数的变量名 注意使用了自定义校验函数之后就不要在这里写message提示信息了。直接在函数里面定义错误信息即可。 phone: [ { required: true,validator: checkPhone, trigger: blur }],两次密码是否相同这个demo直接拿着ElementUI给的demo即可。这里不再赘述
总结
通过表单自定义校验大大提高了灵活性和可控性。个人还是比较喜欢的