RELATEED CONSULTING
相关咨询
选择下列产品马上在线沟通
服务时间:8:30-17:00
你可能遇到了下面的问题
关闭右侧工具栏

新闻中心

这里有您想知道的互联网营销解决方案
Field is required.  
Group is invalid.  
validationGroup: {{ $v.validationGroup }}

我们先这样举例 值得注意的是我们需要去知道他的$v.name里面的内容

也就是 $invalid $dirty $error $pending $each 这个value

特别的注意 $error里的解释:It is a shorthand to $invalid && $dirty

也就是一个与的组合 你可以去试着改变这两者的值 再去看$error的值

当然还有两个重要的方法: $touch $reset 上面也有实例 说简单点就是设置这个以及子节点的$dirty 为true或者false

而设置这个$dirty 再结合 $invalid就可以判断验证成功与否

$error 是由$dirty和$invalid共同决定的

在这里的验证规则流程是这样的 如果$error为true那么form-group会添加一个form-group--error这个class

只有在$error为true时 如果你不符合任意一个验证规则 例如不符合required 那么就会提示验证失败

如果验证错误就给出错误提示 这是我的错误样式:

.form-group__message{
  display: none;
  font-size: .95rem;
  color: #CC3333;
  margin-left: 10em;
  margin-bottom: 12px;
}
.form-group--error+.form-group__message {
  display: block;
  color: #CC3333;
}

.form-group--error input, .form-group--error input:focus, .form-group--error input:hover, .form-group--error textarea {
  border-color: #CC3333;
}

2.密码验证

密码验证其实和上面的差不多 只不过他的验证规则时通过 sameAs 来进行验证的

3.组合验证

除了上面这些还有一个组合验证 也就是如果任意一个不符合验证规则就不通过 这个还是挺常用的

我们可以在验证字段这样去组合:

validations: {
  flatA: { required },
  flatB: { required },
  forGroup: {
   nested: { required }
  },
  validationGroup: ['flatA', 'flatB', 'forGroup.nested']
}

如果任意一个就是FlatA flatB forGroup其中一个不符合验证规则 那么$v.validationGroup.$error就是false

4.异步验证

特别是在验证唯一性的时候 我们肯定会遇到这样的一个场景:

就比如我们的邮箱 如果已经注册过这个邮箱了 那么再用这个邮箱去注册显然不是我们想要的

还有就是我们登录时我们需要去核对我们的用户的密码

这边我给出的实例就是对于用户名的注册 如果已经注册了就会提示已经注册过

完全支持async/await语法。它与Fetch API结合使用也很出色 那么我们可以通过后端API提供的结果可以进行判断
我们可以去增加我们唯一性的验证:

name: {
  required,
  minLength: minLength(4),
  async isUnique (value) {
    if (value === '') return true
    const response = await fetch(`http://localhost:8000/api/unique/name/${value}`)
    return Boolean(await response.json())
  }
},

这里我现在本地测试 通过Laravel作为后端来提供的数据校验 实际项目中的话可以再结合数据库

//用户验证路由
Route::group(['prefix'=>'unique','middleware'=>['api','cors']], function () {
  Route::get('/name/{value}',function(Request $request,$value){
    if($value==="gavin"){
      return response()->json(false);
    }
    return response()->json(true);
  });
});

如果我们去注册 gavin这个用户就会提示该昵称已经被注册 因为在用户名我增加了isUnique验证

复制代码 代码如下:


用户名已经被注册

显示结果应该是这样的:

vuelidate对于vueJs2.0验证的示例分析

5.自定义验证

同样的我们不仅可以使用它提供给我们的验证规则 我们也可以自定义验证规则并与之前的进行组合

官方给出了一个简单实例:

export default value => {
 if (Array.isArray(value)) return !!value.length

 return value === undefined || value === null
  ? false
  : !!String(value).length
}

关于“vuelidate对于vueJs2.0验证的示例分析”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

另外有需要云服务器可以了解下创新互联建站www.cdcxhl.com,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


当前标题:vuelidate对于vueJs2.0验证的示例分析-创新互联
文章网址:http://jxjierui.cn/article/gogcd.html
Top