vue中vee validate表单校验的几种基本使用

前端之家收集整理的这篇文章主要介绍了vue中vee validate表单校验的几种基本使用前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

今天主要记录一下用vee-validate来进行表单校验的几个基本使用。包括最基础的必填和长度校验;异步请求服务的校验(重名校验),还有延迟校验。如何引入等就不在这里赘述了,直接进入主题

1.必填和长度校验

直接采用v-validate属性进行配置,不同的校验采用 ‘|' 隔开。是否有报错根据 errors.has('userName') 进行判断,‘userName'对应的是表单的name属性的值。

errors.first('userName)会展示表单校验中第一个错误信息。

用户名 required|min:2|max:20'">

结果如下:

从结果我们可以看到,校验的错误信息是展示了,但是默认都是英文的,这个可能有时跟我们实际开发的需求不是一致的。这个我们可以采用

vee-validate的国际化去进行中文的展示。但是这里我要介绍的是另一种方式,如果是系统只需要支持一种语言,我觉得用这种方式就可以。

直接采用 errors.first('userName:required') 即 ‘字段名:校验规则' 的方式进行判断进而展示对应提示信息的方式。这个方式可以让表单在对应校验不通过时展示我们自己定义对应的个性化提示信息。

优点是:配置简单,方便实现个性化提示

用户名 required|min:2|max:20'"> required')" class="error">用户名为必填项 用户名的最小长度为2 用户名的最大长度为20

2.异步校验 和延迟

异步校验,主要就是两部分,一个是校验器的定义,一个是使用

定义部分:

new Promise((resolve) => { setTimeout(() => { if (emailsDB.indexOf(value) === -1) { return resolve({ valid: true }); }

return resolve({
valid: false,data: {
message: ${value} 已存在.
}
});
},200);
});
Validator.extend('unique',{
validate: isUnique,getMessage: (field,params,data) => data.message
});

使用:

邮箱

结果:

其中 data-vv-delay="1000" 就是延迟校验的使用。1000即1000毫秒

以下是几个例子的完整代码

邮箱
    <el-col :span="4" class="form-label"&gt;
      <label><a href="https://www.jb51.cc/tag/yonghuming/" target="_blank" class="keywords">用户名</a></label>
    </el-col>
     <el-col :span="8"&gt;
      <el-input name="userName" v-model="userName" v-validate="'<a href="https://www.jb51.cc/tag/required/" target="_blank" class="keywords">required</a>|min:2|max:20'"&gt;</el-input>
      <span v-show="errors.first('userName:<a href="https://www.jb51.cc/tag/required/" target="_blank" class="keywords">required</a>')" class="error"&gt;<a href="https://www.jb51.cc/tag/yonghuming/" target="_blank" class="keywords">用户名</a>为必填项</span>
      <span v-show="errors.first('userName:min')" class="error"&gt;<a href="https://www.jb51.cc/tag/yonghuming/" target="_blank" class="keywords">用户名</a>的最小长度为2</span>
      <span v-show="errors.first('userName:max')" class="error"&gt;<a href="https://www.jb51.cc/tag/yonghuming/" target="_blank" class="keywords">用户名</a>的最大长度为20</span>
    </el-col>
    <!-- <el-col :span="8"&gt;
      <el-input name="userName" v-model="userName" v-validate="'<a href="https://www.jb51.cc/tag/required/" target="_blank" class="keywords">required</a>|min:2|max:20'"&gt;</el-input>
      <span v-show="errors.has('userName')" class="error"&gt;{{ errors.first('userName') }}</span>
    </el-col> -->

  </el-row>
</el-form>

总结

以上所述是小编给大家介绍的vue中vee validate表单校验的几种基本使用。编程之家 jb51.cc 收集整理的教程希望能对你有所帮助,如果觉得编程之家不错,可分享给好友!感谢支持

原文链接:https://www.f2er.com/vue/31808.html

猜你在找的Vue相关文章