Javascript jQuery验证程序-动态文本
将验证程序添加到我的表单:Javascript jQuery验证程序-动态文本,javascript,jquery,validation,Javascript,Jquery,Validation,将验证程序添加到我的表单: jQuery.validator.addMethod('whatever', function(val, el) { // whatever goes here }, 'A maximum of ' + $('#my_id_here').val() + ' categories can be selected.'); 这不会飞。我总是没有定义。这是一个好的、简单的方法吗 谢谢诸如此类的东西: $(document).ready(function() {
jQuery.validator.addMethod('whatever', function(val, el) {
// whatever goes here
}, 'A maximum of ' + $('#my_id_here').val() + ' categories can be selected.');
这不会飞。我总是没有定义。这是一个好的、简单的方法吗
谢谢诸如此类的东西:
$(document).ready(function()
{
jQuery.validator.addMethod("validateCountries", function(value, element) {
alert('s');
return this.optional(element) || /^\d{3}-\d{3}-\d{4}$/.test(value);
});
// add the validation rule
$("#form1").validate();
$("#lbCountries").rules("add", { validateCountries:true });
});
在Add方法中,您可以执行验证
更新1:
使用动态文本,您将丢失显示的错误消息。以下是解决这一问题的方法:
// add the validation rule
$("#form1").validate(
{
messages: { lbCountries: "please specify the countries" }
}
);
lbCountries是一个列表框控件
更新2:
您可以使用该规则附加另一个规则属性,如下所示:
$("#lbCountries").rules("add", { validateCountries:true, noOfSelectedItems:3 });
现在,您可以在触发事件时检查规则:
$("#lbCountries").rules().noOfSelectedItems; // this will return 3
但是,如果我有一个复选框列表,我想确保只选中了4个,但该值不能硬编码,该怎么办?我需要一种方法让它有时说“只能选择复选框”。你可以通过在复选框上设置一个自定义属性(比如Only=4)来进行破解(不好)。现在,当您访问复选框列表时,您可以找到需要设置的复选框数量,并可以进行验证!验证本身不是问题,我可以使用隐藏的。我遇到麻烦的具体部分是使消息本身适合我要查找的号码。更好的方法是扩展jQuery验证,并为noOfItemsSelected添加一个新的选择器。然后,您可以确保在添加自定义规则时始终满足noOfItemsSelected!