仅在选中单选按钮时验证字段集(条件验证)

时间:2014-09-23 18:53:55

标签: parsley.js

我有一个包含两组字段的表单:

  • "联系信息" (17个领域)
  • "公司信息" (5个领域)

有一个问题广播#34;你有公司吗?"这与公司信息有关。如果收音机是"是",则必须填写和验证公司字段。如果收音机是"否",则应忽略公司字段。

我不确定管理此问题的最佳方法。

  1. 根据单选按钮的状态切换公司字段禁用的属性,并排除欧芹选项中的所有禁用字段

    $('#adminForm').parsley({excluded: '[disabled]'});
    
  2. 根据单选按钮的状态,使用两个data-parsley-group并验证一个或两个块

  3. 我尝试使用example on jsfiddle(但没有成功)。

1 个答案:

答案 0 :(得分:8)

欧芹documentation陈述以下关于data-parsley-group

的内容
  

将一个组分配到字段以进行特定的组验证。例如:data-parsley-group ="注册"。这样,您只能验证表单的一部分而不是所有字段。可以是多个。例如:data-parsley-group =' [" foo"," bar"]'

可以认为您可以使用data-parsley-group仅验证表单的一部分,并在验证后提交表单。 这不正确

data-parsley-group旨在用于多步骤表单,其中必须验证整个表单,并且验证一次应用于一个或几个组。一旦验证了所有组,就会提交表单。

您需要的是:

  1. 如果公司选中:仅验证第一个字段,忽略公司字段。
  2. 如果公司 已选中:验证所有表单字段。
  3. 因此,表单是相同的,但有时表单有更多的字段。我建议你使用disabled来解决这个问题。选中公司时,显示字段,否则隐藏字段并禁用它们。

    将parsley绑定到表单时,将:disabled添加到excluded选项,以便Parsley可以忽略此字段。

    我更新了JSFiddle以满足您的需求。