Vant async-validator 表单校验
感谢:尤大大的 vue、有赞的 vant、async-validator、以及 asseek
链接:https://www.jianshu.com/p/d58fe749b97f
在下不才在 asseek 的基础上加入了一些自己的想法有了现在的版本。
抛砖引玉请多多提点。
修正内容:
Promise 代替 callback
添加 Proxy 实现校验的自动触发
精简部分代码以期降低阅读难度
目的:
自动校验、手动校验、校验错误信息展示
规则声明:
<van-field :error-message="validator.ErrMsg.telNumber" v-model="formData.telNumber"
required clearable label="手机号"
icon="question" placeholder="请填写正确有效的手机号"
@click-icon="$toast('请填写正确有效的手机号')" />
data:()=>({
// 验证对象
validator: undefined,
// 表单数据源
formData: {
// 车牌号
carNumber: '鲁B',
// 手机号
telNumber: undefined
},
// 校验
rules: {
carNumber: [
{ required: true, message: '请输入鲁B/鲁U开头完整车牌号' },
{
validator: (rule, value, callBack) => {
/^[鲁]{1}[B|U]{1}[A-Z0-9]{5,6}$/.test(value) ? callBack() : callBack('请输入鲁B/鲁U开头完整车牌号')
}
}
],
telNumber: [
{
validator: (rule, value, callBack) => {
if (!value) {
callBack('请输入手机号码')
} else if (/^[1][0-9]{10}$/.test(value)) {
callBack()
} else {
callBack('请输入正确的手机号码')
}
}
}
]
},
......
}),
created() {
this.validator = new ValidatorUtils({
rules: this.rules,
data: this.formData })
this.formData = this.validator.Data
},
最新文章
- Linux 命令学习笔记
- .NET架构设计、框架设计系列文章总结
- React Native开发之npm start加速
- 在OS X中使用Homebrew
- IIS mime类型
- Java面向对象的继承
- 移植ok6410
- clientTop scrollTop offsetTop
- C#值类型以及默认值记录下
- poj 1936 All in All(水题)
- OD提示 ";为了执行系统不支持的动作, OllyICE 在这个被调试的程序中注入了一点代码, 但是经过5秒仍未收到响应..."; 解决办法
- DirectX11中Shader的封装
- 新概念英语(1-5)Nice to meet you.
- javascript 错误处理和堆栈追踪浅析
- sort_gff.py
- 一个简单的例子了解states
- ACM-ICPC 2018 沈阳赛区网络预赛 J. Ka Chang (分块思想)
- qt 中文乱码
- Spring Data JPA原生SQL查询
- jenkins api 使用
热门文章
- windows 安装python3.5启动报错:api-ms-win-crt-runtime-l1-1-0.dll丢失
- React-Native 常用组件学习资料链接
- Ubuntu系统Anaconda下载安装与切换源教程【转】
- minicom退出方法【转】
- SpringBoot Lombok
- Spring核心技术AOP实现原理
- Aware接口
- TNS-12541: TNS:no listener , TNS-12542: TNS:address already in use
- Java程序执行Linux命令(JSP运行其他程序)
- Service的理解