jQuery Validation复选框自定义值规则

时间:2014-01-31 13:36:33

标签: javascript jquery validation

是否可以使用jQuery Validation插件检查复选框上的自定义值(除了True / False)?

例如:

<input id="test" type="checkbox" name="test" value="something">

我无法找到一种方法来检查'某些东西'是否有价值。出于特定原因,我不能仅使用'true'作为值。

4 个答案:

答案 0 :(得分:1)

试试这个:

$('#test').attr('value');

Demo JSFiddle

您可以在自定义验证方法中使用它。要声明自定义规则:

$.validator.addMethod("myRule", function(value, element) {
    var v = element.attr('value');
    if(v === 'something') {
        return true;
    }
    return true;
}, $.validator.format('my message') );

在字段上设置自定义规则:

$('#form').validate({
    rules : {
        test : {
            myRule : true
        }
    }
});

答案 1 :(得分:1)

使用:

$("#test").val()

或者如果你想在变更事件中获得价值,那么:

演示:http://jsfiddle.net/qsDn5/16/

$("#test").change(function(){
   alert(this.value); 

});

答案 2 :(得分:1)

您可以使用addMethod添加规则,然后根据测试结果返回一个布尔值,如下所示:

// Add Custom Method
$.validator.addMethod('someTest', function(value, element){
    return 'something' === value;
}, $.validator.format('Custom Message'));

// Use Custom Method
$('#theForm').validate({
    rules: {
        checkBoxField: {
            someTest: true
        }
    ...
});

JSFiddle Demo

我希望这有帮助!

答案 3 :(得分:0)

尝试Jquery Validation插件,

<form id="myform">
    <input type="checkbox" name="test[]" />x
    <input type="checkbox" name="test[]" />y
    <input type="checkbox" name="test[]" />z
    <input type="submit" />
</form>
<a id="docs" href="http://docs.jquery.com/Plugins/Validation" target="_blank">Validation Documentation</a>

<强>代码:

$(document).ready(function () {

    $('#myform').validate({ // initialize the plugin
        rules: {
            'test[]': {
                required: true,
                maxlength: 2
                custommethod: true
            }
        },
        messages: {
            'test[]': {
                required: "You must check at least 1 box",
                maxlength: "Check no more than {0} boxes"
            }
        },
        submitHandler: function (form) { // for demo
            alert('valid form submitted'); // for demo
            return false; // for demo
        }
    });

});

更新: http://jsfiddle.net/aJBK9/2/

在jquery验证中使用addMethod,

$.validator.addMethod("custommethod", function(value, element) {
    if (value==="something"){return true;}
return false;

}, "Value must be some thing");

检查此演示链接http://jsfiddle.net/aJBK9/1/