微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

当第二个验证器通过时,不显示解析器验证器消息

如何解决当第二个验证器通过时,不显示解析器验证器消息

我有一个包含两个验证器的字段:一个是欧芹模式,第二个是自定义欧芹验证器“ if可选”。当自定义验证通过(另一个字段提供了有效值)但模式验证失败(此输入的值无效)时,香菜通过在验证之后将焦点放在该字段上来表明它失败,但未显示错误消息。如果自定义验证失败,并且仅提供一个无效值,则会正确显示该消息。我该如何解决

自定义验证器:

window.Parsley.addValidator("optionalIf",{
  validateString: function(value,requirement) {
    theOtherField = $("[name = " + requirement + "]")
    if (!!value || !!($(theOtherField)).val()) {
      $(theOtherField).parsley().reset()
      return true;
    }
    return false;
  },messages: {
    en: 'You need to provide the answer to either this field or %s field (or both)'
  },priority: 1
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/parsley.js/2.9.2/parsley.min.js" integrity="sha512-eyHL1atYNycXNXZMDndxrDhNAegH2BDWt1TmkXJPoGf1WLlNYt08CSjkqF5lnCRmdm3IrkHid8s2jOUY4NIZVQ==" crossorigin="anonymous"></script>

<input data-parsley-different-to="input2" 
data-parsley-optional-if="input2" 
data-parsley-pattern="^\d{4}-\d{3}(\d|X|x){1}$" 
data-parsley-validate-if-empty="true" id="input1" name="pissn"
pattern="^\d{4}-\d{3}(\d|X|x){1}$" placeholder="11111111" type="text"
value="" data-parsley-errors-container="#input1_checkBox-errors" 
data-parsley-group="block-1" 
data-parsley-id="18" class="" 
aria-describedby="parsley-id-18">

解决方法

将优先级从1更改为300使其可以正常工作。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。