vue 如何实现表单校验
一、安装并使用
首先,在你的vue项目中进行安装:
npm install --save vue-input-check
安装完成以后引入并注册:
import inputCheck from 'vue-input-check';
// 安装
Vue.use(inputCheck);
然后,我们就可以在表单中使用了:
<form autocomplete="off" novalidate>
<input v-model='key' name='输入框名称' v-input-check='[key,"validate-express"]'/>
<!-- 可以有任意多的输入框 -->
</form>
如你所见,上述的v-input-check
就是我们对每个输入框定义规则的地方,值是一个数组,第一个值就是输入框的v-model
,第二个值是一个字符串,语法如下:
validate-express="val1:param1:param2|val2|valu3:param1"
不同的规则使用|分割,需要传递参数的规则的参数通过:分割。我们来看几个例子:
v-input-check='[key,"required|maxLength:10|regexp:^\\d{1,5}$"]'
v-input-check='[key,"required"]'
目前可选的内置规则如下:
required:boolean:
表示必输,有一个可选参数,表示是否必输,默认true
maxLength:num:
最大长度
minLength:num:
最小长度
regexp:str:
正则表达式
二、获取校验结果
页面的规则定义好了以后,你有两中方式获取校验的结果。
1.JS的方式
直接使用下列方法启动检查即可:
this.$validateCheck(formnode, callback, errorback);
此对象包含三个参数:
-
formnode
:需要校验的表单结点,必输 -
callback
:表单合法回调,可选 -
errorback
:表单非法回调,可选
此外,错误回调有一个形参,数据格式为:
{
"$el":错误的输入框结点
"$error":当前输入框的第一个错误提示信息
}
2.HTML的方式
提供这种方式的目的是为了可以在页面实时反馈当前表单的输入情况。
首先,在表单上,你可以通过判断class
包含v-valid
或者v-invalid
来判断表单是否合法。
同样的,添加指令
v-input-check
的地方同样可以这样判断该处是否合法,而对于更具体的错误细节,比如必输非法,class就会像这样v-invalid-required v-invalid
。
三、自定义校验规则
在大部分情况下,我们还可能需要添加新的校验规则,毕竟默认的往往不足以满足所有业务情况:
Vue.use(inputCheck, {
// 自定义校验规则
validate: [{
// 规则的名称
name: "XXX",
// 校验方法,返回true表示合法,false表示非法
// 需要注意的是,这个函数除了el和val一定存在外,余下的参数是使用的时候通过```:```分割传递的,可以有任意多个
// 比如:``` required:true|phone:parm1:param2 ```
test: function (el, val, ...) {
return true|false;
},
// 非法提示信息,应该返回一个字符串
message: function (el, name) {
return "XXX";
}
},
// 校验规则可以有多条
......
]
});
到此这篇关于vue 如何实现表单校验的文章就介绍到这了,更多相关vue 实现表单校验内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341