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!