阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

vue表单校验方法

32次阅读
没有评论

共计 1590 个字符,预计需要花费 4 分钟才能阅读完成。

导读 这篇文章主要介绍的是 vue 如何实现表单校验的方法,有代码详细解说,感兴趣的小伙伴可以参考下面文章的具体内容

vue 表单校验方法

一、安装并使用

首先,在你的 vue 项目中进行安装:

npm install --save vue-input-check

安装完成以后引入并注册:

import inputCheck from 'vue-input-check';
 
// 安装
Vue.use(inputCheck);

然后,我们就可以在表单中使用了:

&ltform autocomplete="off" novalidate&gt
    &ltinput v-model='key' name='输入框名称' v-input-check='[key,"validate-express"]'/&gt
    &lt!-- 可以有任意多的输入框 --&gt
&lt/form&gt

如你所见,上述的 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 如何实现表单校验的文章就介绍到这了

阿里云 2 核 2G 服务器 3M 带宽 61 元 1 年,有高配

腾讯云新客低至 82 元 / 年,老客户 99 元 / 年

代金券:在阿里云专用满减优惠券

正文完
星哥说事-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2024-07-25发表,共计1590字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中