jQuery validate - 用户必须选择YES radio(不是no)以便conitnue

cha*_*ork 5 jquery jquery-plugins jquery-validate

我想设置一个jQuery验证规则,要求检查YES(不是否),以便表单验证/提交.用户必须接受条款.如果用户选择"否",则会收到错误消息,表单将不会生效.使用jquery validate插件实现此目的的正确方法是什么?

<form id="myForm">
<input type="radio" name="terms" id="terms1" value="Yes!" class="required" title="Must accept terms to continue" /> Yes
<input type="radio" name="terms" id="terms2" value="No" class="required" title="Must accept terms to continue" /> No
</form>

$("#myForm").validate({ 

/*
Insert your awesome jquery validation code here. Free beer to whoever answers the question!
*/

}); 
Run Code Online (Sandbox Code Playgroud)

这是一个工作示例:http: //jsfiddle.net/ThcS8/1/

对任何可以提供解决方案甚至更好的例子的人都感到荣幸!如果您正在寻找相同的解决方案,请投票,以获得关注.谢谢大家!

请投票给你最喜欢的解决方案!

小智 11

我也有这个问题,并尝试了各种各样的事情,包括上面提到的解决方案.最后,我编写了一个自定义验证器方法来检查单选按钮中的所需值:

jQuery.validator.addMethod("requiredRadioValue", function(value, element, params) { 
    var selectedValue = $('input:radio[name=' + element.name + ']:checked').val(); 
    return (typeof(params) == 'array') ? (params.indexOf(selectedValue) != -1) : selectedValue == params;
}, "You must select the required option."); 
Run Code Online (Sandbox Code Playgroud)

该方法用于例如

signedcif: { requiredRadioValue: 'yes' }
Run Code Online (Sandbox Code Playgroud)

允许的选项可以是数组或单个值.

希望这会有所帮助,我希望这不是最直接的方式,所以任何替代方案都会感激不尽!