我有一个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”在规则列表中排在最后,我假设我的脚本中存在语法错误,并且它没有基于选择“小时”或“天”进行验证,在这种情况下仅为“天”。
我不确定这种情况下的正确语法是使其验证“小时”或“天”,而不是“不确定”。