2017-02-23 95 views
0

enter image description here验证电子邮件字段[name = bar]的格式为#foo时,我想打开和关闭该字段的验证,相对于复选框。如何打开/关闭来自parsley.js表单验证的字段

阅读文档,github问题和stackoverflow的答案,我认为设置data-parsley-required =“false”和/或data-parsley-validate =“false”就足够了。

但事实证明,所有其他约束,如电子邮件,最小 - lenght,最大长度仍然验证,并输入字段仍然验证到错误条件。我宁愿它验证成功或根本不成功。

<form id="foo"> 
    <input name="bar" 
      maxlength="40" 
      value="" 
      class="form-control" 
      data-parsley-validate="false" 
      data-parsley-required="false" 
      type="email" 
      data-parsley-minlength="5" 
      data-parsley-trigger="input keyup change" 
      data-parsley-error-message="something is wrong"> 
</form> 

https://jsfiddle.net/88obg0sj/9/

那么怎么可能关闭现场验证的方式,可以再次重新激活?

+1

像这样https://jsfiddle.net/br3t/88obg0sj/10/? – br3t

+0

您已将此复选框添加到示例中。而当复选框未选中你打电话.parsley()来获取现有ParsleyField实例和.destroy()摧毁它。但是,当检查你做到这.parsley(),它不适合我的工作,因为我最初名为$(“#形式富”)。香菜({} lotsOfOptions)以及事件订阅。我想,这些选项都被遗忘了。所以我宁愿这样做:如果没有选中,则验证为true。 – matths

回答

0

则应该通过添加", [data-parsley-validate="false"]"它捏捏excluded选项,例如。

+0

想法听起来不错,但我甚至不能排除它最初!也许它只在表单提交时排除,而不是单个字段验证? https://jsfiddle.net/Lwdppsvm/2/ – matths

+0

我不能想出这个工作方案。让一个领域通过/验证成功或排除是非常困难的。无法想象,这是我的一个奇怪的用例。 – matths

+0

我是对的,排除不会影响单个字段验证触发输入/更改/键入,但只有在表单提交时,当所有字段验证:https://jsfiddle.net/Lwdppsvm/5/ – matths