我知道你应该在DOM准备好之后初始化JQuery Validate插件,但是我在点击处理程序中做了这个;为什么?因为JSP页面允许用户做出选择,并且这些选择导致不同的验证器。
以下是点击处理程序的代码:
$("#myStuff_btn").on("click", function(e){
if($("#exampleField").is(":visible")){
var defaults = jQuery.extend(validationPluginDefaults, {
rules: {
firstName:{
firstNameRequired: true
},
field2:{
bookTitleRequired: true,
alphanumeric: true,
validateField2: true
},
pin:{
pinRequired:true
}
}
});
} else {
var defaults = jQuery.extend(validationPluginDefaults, {
rules: {
firstName:{
firstNameRequired: true
}
}
});
}
// This is the initialization; it doesn't belong in the click handler.
$("#my_form").validate(defaults);
现在我添加的部分是" pin"。在pin之前,所有这些验证都运行良好。现在正是这里发生的事情:
为什么会这样?这是一个初始化问题还是其他我没有看到的问题?感谢您提供任何有用的提示。