JQuery Validation插件规则语法

时间:2014-06-03 14:01:46

标签: javascript jquery jquery-validate

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

小时不确定

和另一个字段,用于输入与小时或天数选择对应的数字。如果用户选择“不确定”,则不需要输入数字。我目前正在根据用户是否选择“不确定”进行验证,但我想更改此项以验证用户是选择了“小时”还是“天”,如果他们选择了这两个选项中的任何一个,则只显示所需的标签

此处是我的HTML:

<form role="form" action="#" 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="duration" required="true" /></td>
 <label for="durationNumber" class="validateError"></label>
 <td width="50%">
 <div class="controls">
 <label class="radio">
    <input type="radio" name="radioduration" class="jradiodurationHours" value="Hours" required="true" /> Hours</label>
     <label class="radio">
    <input type="radio" name="radioduration" class="jradiodurationDays" value="Days" required="true" /> Days</label>
 <label class="radio">
    <input type="radio" name="radioduration" class="jradiodurationUnsure" value="Unsure" required="true" /> Unsure</label>
 <label for="radioduration" class="validateError"></label>
 </div>
 </td>
 </tr>

 <button type="submit" class="btn btn-primary">Next</button>

 </form>

这是我的剧本:

$(document).ready(function () {
 // initialize the plugin
 $("#durationForm").validate({ 
     errorClass: "validateError",
     rules: {
         duration: {
             required: '.jradiodurationHours:checked',
             required: '.jradiodurationDays:checked'
         }
     }
     });
 });

目前的问题是,只有用户选择“天”而不是“小时”才能验证。由于“Days”在规则列表中排在最后,我假设我的脚本中存在语法错误,并且它没有基于选择“小时”或“天”进行验证,在这种情况下仅为“天”。

我不确定这种情况下的正确语法是使其验证“小时”或“天”,而不是“不确定”。

0 个答案:

没有答案