如何验证一组单选按钮?

时间:2014-02-19 00:20:37

标签: jquery jquery-validate

我有一个在线调查,我正在使用jquery验证。

所以每个问题都有4个选项,每个选项都是一个单选按钮。

当我构建我的jquery validatio规则时,我该如何引用它们?

每个问题选项都有一个ID和名称。

以下是我到目前为止所做的事情,但它无效。

$(document).ready(function() {

 $("#myForm").validate({
           rules : {     
               someQuestionId123 : {required : true }
           });
  });

其中someQuestionId123是单选按钮元素的名称

1 个答案:

答案 0 :(得分:1)

您使用}); ...

错误地关闭了规则
rules : {     
    someQuestionId123 : {required : true }
});

使用jQuery Validate插件的.validate()方法,必须通过name引用它们。

由于一组radio按钮应该共享相同的name,因此您已经正确地执行了此操作(在修复括号问题后)...

$(document).ready(function() {

    $("#myForm").validate({
        rules: {     
            someQuestionId123: { // <-- NAME attribute
                required: true 
            }
        }  // <-- right here, you incorrectly had '});'
    });
});

<强> HTML

<input type="radio" name="someQuestionId123" value="one" />
<input type="radio" name="someQuestionId123" value="two" />
<input type="radio" name="someQuestionId123" value="three" />
<input type="radio" name="someQuestionId123" value="four" />

DEMO http://jsfiddle.net/5dsJQ/


最后,你的最新jsFiddle被破坏了,因为你-中有特殊字符,例如name ......

rules: {     
    someQuestionId-123: { 
        required: true 
    }
}

As per the "reference docs",您需要将名称括在引号中以解决此问题......

rules: {     
    "someQuestionId-123": { 
        required: true 
    }
}

通常,如果您将这些名称用作JavaScript目标,则应避免使用短划线命名-,因为JavaScript有时会将其解释为减号。对于jQuery Validate,引号将解决这个问题。

http://jsfiddle.net/RB4NU/12/