如何在jquery.validate中使用addmethod。 实施例
$("#formname").validate({
rules: {
textbox: {
required: true,
regexp: /['"]/
},
methods: {
required: "Should not be blank",
regexp: "Single quotes and double quotes not allowed"
}
}
});
我需要使用addmethod检查文本框中的这个引号。我怎样才能做到这一点。通过我的示例代码实现您的答案来解释我。
答案 0 :(得分:2)
首先我们需要一些修复,messages
的布局是这样的(你不能用原始选项做这个...插件只是不寻找那个结构):
$("#formname").validate({
rules: {
textbox: {
required: true,
regexp: /['"]/
}
},
messages: {
textbox: {
required: "Should not be blank",
regexp: "Single quotes and double quotes not allowed"
}
}
});
然后你的方法看起来像这样:
$.validator.addMethod("regexp", function(value, element, param) {
return this.optional(element) || !param.test(value);
});
You can test it out here ....但是你注意到你的正则表达式是倒退的,所以命名不太正确......我会将regexp
重命名为nomatch
...或更多内容表明你正在寻找的行为。
答案 1 :(得分:0)
$("#formname").validate({
rules: {
textbox: {
required: true,
regexp: true
}
},
messages: {
textbox: {
required: "Should not be blank",
regexp: "Single quotes and double quotes not allowed"
}
}
});
// Regexp validation
$.validator.addMethod("regexp", function(value, element, arg){
var reg_val=$('#textbox').val();
var regExp=/^['"]+$/;
if($('#textbox').val().match(reg_val)){
return true;
}else{
return false;
}
}, "");