HTML表单验证 - 基于单选按钮选择的条件

时间:2014-06-03 12:17:16

标签: javascript jquery jquery-validate

我有一个HTML表单,我正在使用JQuery Validate插件来要求某些表单字段是必需的。我有一个单选按钮字段,有3个选项:

小时 天 不确定

和另一个字段,用于输入与小时或天数选择对应的数字。但是,如果用户选择“不确定”,则不需要输入数字。如果用户没有选择“不确定”(即当他们选择“小时”或“天”时),我无法弄清楚如何仅强制数字字段。这是我目前的HTML:

<form role="form" action="continue.php" method="post" id="durationForm">

 <tr>
 <td colspan = "3">Please enter the duration?</td>
 </tr>
 <tr>
 <td width="10%"><input type="number" class="form-control" id="duration"  name="durationNumber"               required></td>
 <label for="duration" class="validateError"></label>
 <td width="50%">
 <div class="controls">
 <label class="radio">
 <input type="radio" name="duration" id="duration" value="Hours" required> Hours</label>
 <label class="radio">
 <input type="radio" name="duration" id="duration" value="Days" required> Days</label>
 <label class="radio">
 <input type="radio" name="duration" id="duration" value="Unsure" required> Unsure</label>
 <label for="duration" class="validateError"></label>
 </div>
 </td>
 </tr>
 <button type="submit" class="btn btn-primary">Next</button>
 </form>

这是脚本:

  $(document).ready(function () {
       $("#durationForm").validate({ 
       errorClass: "validateError"
      });
 });

我设置了一个显示此内容的jsfiddle

1 个答案:

答案 0 :(得分:0)

来自:https://stackoverflow.com/a/19546185/1477051

jQuery Validate实际上直接使用dependency expressions支持此功能。

您需要做的就是更改您的验证选项:

$('#myform').validate({
    rules: {
        fieldA: {
           required:'#checkA:checked'
        }
    }
});

就是这样!

我在您的代码中使用了它:http://jsfiddle.net/xJBX9/1/