验证Parsley.js中的链接字段

布伦特·艾希尔

这个问题是由Github上的“ jackrugile”提出的,但是我无法找到答案。我在这里重新发布,因为存在完全相同的问题:

当使用链接到其他字段(等于,大于,小于,之前日期,之后日期等)的验证约束时,在一个字段上触发验证调用的任何内容都应在另一字段上自动调用。这仅适用于提交以外的触发器(focusin,focusout,keydown,keyup等)

例如,如果我有一个名为“ Small Number”的字段和一个名为“ Large Number”的字段,我会将data-greaterthan属性添加到“ Large Number”输入中以确保它更大。然后,我按如下所示填写字段:

Small Number: 12
Large Number: 7

该验证显然失败了,并且在“ Large Number”字段上显示了一个错误。然后,要解决此错误,而不是使“大数字”大于12,而是使“小数字”小于7。现在,表单的状态为:

Small Number: 5
Large Number: 7

但是,即使这应该立即通过,因为它在验证规则之内,也不能消除错误,因为在更改“小数字”之后,没有再次检查“大数字”。

最好的解决方案是什么?

布拉德

据我所知,在Parsley 2.1(当前版本)中,不支持此功能。但是,我们可以通过侦听触发欧芹事件来添加功能我认为您可以通过多种方法来解决此问题。我选择在字段初始化上执行此操作。初始化一个字段时,如果它具有依赖于另一个字段的验证器,则向该字段添加一个侦听器,这样,当该字段更改时,我将重新执行验证。这是一个例子:

/**
  * For fields that have a comparison to another field,
  * setup a listener so that when one field changes, both
  * fields re-validate.
  */
 $.listen('parsley:field:init', function(e) {
   var comparisonFields = ['gte', 'gt', 'lte', 'lt'];
   for (var i = 0; i < comparisonFields.length; i++) {
     if (e.OptionsFactory.fieldOptions[comparisonFields[i]]) {
        $(e.OptionsFactory.fieldOptions[comparisonFields[i]]).on(e.OptionsFactory.staticOptions.trigger, function() {
          $(e.$element).parsley().validate();
       })
     }
   }
 });

请注意,如果您在任何init事件上添加了侦听器,则必须在初始化欧芹表单之前添加代码。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

验证Parsley.js中的链接字段

来自分类Dev

Parsley JS 强制字段无法验证状态

来自分类Dev

Parsley验证不起作用Angular js

来自分类Dev

parsley.js-禁用maxlength验证

来自分类Dev

如何使用Parsley JS验证文件输入?

来自分类Dev

Parsley.js验证文件大小?

来自分类Dev

parsley.js远程验证响应

来自分类Dev

parsley.js正在验证但未提交

来自分类Dev

使用parsley.js验证动态创建的字段

来自分类Dev

Parsley JS 2.x-如何验证隐藏字段?

来自分类Dev

Parsley JS 2.x-如何验证隐藏字段?

来自分类Dev

验证Parsley.js中的复选框消息

来自分类Dev

Parsley.js销毁并重新验证已经验证的字段

来自分类Dev

使用Parsley.js验证选择的多项选择

来自分类Dev

Parsley.js-如何向所需的验证器添加值

来自分类Dev

Parsley.js-验证仅数字的可选输入

来自分类Dev

Parsley.js-如何向所需的验证器添加值

来自分类Dev

使用Parsley.js验证选择的多项选择

来自分类Dev

仅使用parsley.js在提交时验证表单

来自分类Dev

如何动态添加和删除要由Parsley.js验证的表单字段?

来自分类Dev

使用parsley.js,如何验证页面加载后添加的字段?

来自分类Dev

当单个字段发出无穷递归的成功事件时,我无法在Parsley中触发验证

来自分类Dev

Parsley.js未在复选框上为自定义验证器设置parsley-success / parsley-error

来自分类Dev

ParsleyUI.addError之后,Parsley.js远程验证响应仍验证为true

来自分类Dev

在Rails 4中正确实现Parsley.js自定义远程验证器

来自分类Dev

在Parsley.js 2.0.0 rc3中动态添加输入和绑定验证

来自分类Dev

请在检查parsley.js中的远程验证器时等待

来自分类Dev

清除parsley js中的从属字段错误

来自分类Dev

清除parsley js中的从属字段错误

Related 相关文章

热门标签

归档