是否可以使用jQuery Validation插件检查复选框上的自定义值(除了True / False)?
例如:
<input id="test" type="checkbox" name="test" value="something">
我无法找到一种方法来检查'某些东西'是否有价值。出于特定原因,我不能仅使用'true'作为值。
答案 0 :(得分:1)
试试这个:
$('#test').attr('value');
您可以在自定义验证方法中使用它。要声明自定义规则:
$.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
}
...
});
我希望这有帮助!
答案 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/