Javascript jQuery validate()用于具有相同名称、不同值的单选按钮
如果我有这个HTML:Javascript jQuery validate()用于具有相同名称、不同值的单选按钮,javascript,jquery,jquery-validate,Javascript,Jquery,Jquery Validate,如果我有这个HTML: <div class="form-group radioInput"> <label class="radio-inline"> <input checked="checked" name="AcknowledgeLSA" type="radio" value="False"> No </label> <label class="radio-inline"> <inputname
<div class="form-group radioInput">
<label class="radio-inline">
<input checked="checked" name="AcknowledgeLSA" type="radio" value="False"> No
</label>
<label class="radio-inline">
<inputname="AcknowledgeLSA" type="radio" value="True"> Yes
</label>
</div>
。。。如何基于单选按钮的值为真进行验证
我需要更改JS而不是HTML。如果选择了具有True值的单选按钮,则表单有效。如果选中了另一个False单选按钮,则表单无效
myForm.validate({
rules:
AcknowledgeLSA : {
required: true,
depends: function() { return $('[name="AcknowledgeLSA"]').is(':checked').val() === "True";}
}
}
});
我认为您需要在此处使用:
编辑:您可以创建如下自定义规则:
jQuery.validator.addMethod("hasValue", function(value, element, param) {
return value == param;
}, 'Invalid!');
myForm.validate({
rules: {
AcknowledgeLSA: {
hasValue: 'True'
}
};
我说的是DOM节点的value属性被设置为字符串True,而不是仅仅需要的单选按钮。是的,我尝试了,尽管我认为这取决于何时需要require:True和get Uncaught TypeError:Cannot read属性“call”of undefined。检查元素AcknowledgesA时发生异常,请检查'Dependes'方法。忘记不能像这样检查单选按钮的值。更新了答案。看看它现在是否工作。我认为这是在做它所说的,当它满足depend条件时,它将使字段成为必需的,但这里的问题是,如果它的值为True,它将始终满足必需的条件。我想知道是否有其他方法可以替代required,比如valueMustBe,因此您可以检查实际值是什么,并将该检查用作验证的来源?您可以为其创建自定义规则。再次更新答案!
myForm.validate({
rules: {
AcknowledgeLSA: {
required: true,
depends: function() {
var rbtn = $("input[name='AcknowledgeLSA']:checked");
return typeof rbtn !== 'undefined' && rbtn.val() == "True";
}
}
}
});
jQuery.validator.addMethod("hasValue", function(value, element, param) {
return value == param;
}, 'Invalid!');
myForm.validate({
rules: {
AcknowledgeLSA: {
hasValue: 'True'
}
};