vue-admin-template 添加页面、表单校验(非空校验) 作者:马育民 • 2022-05-11 09:53 • 阅读:10161 # 说明 添加、修改页面,控件一般有校验,如:非空校验、手机号校验、身份证校验、密码校验等 # 实现 [](/upload/0/0/1IX47mvFccyE.png) ### 定义校验规则 在 `data` 中定义校验规则,如下: ``` // 校验的第一个部分,编写规则 rules:{ area: [ { required: true, message: '请输入小区名称', trigger: 'blur' }, { max: 10, message: '不要超过10个字符', trigger: 'blur' } ], name: [ { required: true, message: '请输入姓名', trigger: 'blur' }, { min: 1, max: 15, message: '长度在 1 到 15 个字符', trigger: 'blur' } ], phone: [ { required: true, message: '请输入手机号', trigger: 'blur' }, { min: 11, max: 11, message: '请正确输入手机号', trigger: 'change' }, { pattern: /^(13[0-9]|14[579]|15[0-3,5-9]|16[6]|17[0135678]|18[0-9]|19[89])\d{8}$/, message: '请输入正确的手机号码', trigger: 'change' } ], } ``` ### 提交时校验 **第一步:** 给 `` 标签加上 `ref="form"` 属性,相当于 `id="form"`,在函数中通过该值获取表单 dom 对象 **第二步:** 加上按钮,绑定事件 ``` 提交 ``` **第三步:在事件函数中做校验** ``` onSubmit() { console.log('submit!'); // form 是 ref="form" 中的值 this.$refs["form"].validate( (valid) => { // 箭头函数、lambda表达式,相当于匿名函数的简化写法 if (valid) { // 形参值为true,说明验证通过,符合所有的校验规则 this.$message({ message: '提交成功!', type: 'success' }); // 演示,真正的代码要通过axios发ajax请求到服务器 } else { // 说明验证未通过,不符合某一校验规则 console.log('error submit!!'); return false; } } ); } ``` ### 代码代码 ``` 否 是 无 有 提交 取消 ``` 原文出处:http://malaoshi.top/show_1IX3I5D1Qruv.html