javascript - 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="AcknowledgeLSA" type="radio" value="True"> Yes
  </label>
</div>

还有这个 psuedo-JS(显然不起作用):

myForm.validate({
    rules: {
        AcknowledgeLSA:checked : {required: value="True"}
    }
});        

...如何根据单选按钮的值为“True”进行验证?

我需要更改 JS 而不是 HTML。如果选择了值为 True 的单选按钮,则该表单有效。如果选中另一个 False 单选按钮,则该表单无效。

最佳答案

我认为你需要在这里使用depends:

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'
       }
};

关于javascript - jQuery validate() 用于具有相同名称、不同值的单选按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46898465/

相关文章:

javascript - 检查 Karma Jasmine 单元测试用例中的日期格式

javascript - 如何在 React 组件内部去抖动 redux Action

javascript - 如何向生成的元素添加基本 url?

javascript - 自动选择一个元素并将焦点移出该元素 jquery

jQuery Validate Unobtrusive - Hook 到单个输入的错误事件

javascript - 浏览器有可能不兼容JQuery吗?

javascript - .replace() 所有正则表达式不起作用的实例

jquery - 安装 jQuery slider - 添加文本而不是图片

javascript - 下拉值更改时,某些字段将被隐藏,某些字段将被新添加

jquery - ASP.NET MVC : jQuery UI Selectable Form Posting and Validation