我正在使用jquery的validate插件,并使用以下自定义方法:
$.validator.addMethod("username", function(value, element) {
if (element.prop("required")) {
var re = new RegExp('^([FG]?\\d{5}|\\d{5}[AB])$');
} else {
var re = new RegExp('^'+element.defaultValue+'|^([FG]?\\d{5}|\\d{5}[AB])$');
}
return re.test(value);
});
if语句返回错误element.prop is not a function
。
我也试过$(this).prop ...虽然我没有得到任何错误,但它总是运行声明的else部分。
还有什么我可以用来实现这个吗?
编辑:
这是电话:
$("#myform").validate({
debug: true,
ignore: ".ignore",
rules: {
field: {
required: {
depends: function() {
return $(this).prop("required");
}
},
username: true,
}
},
messages: {
field: {
username: "Enter a valid username"
}
},
success: function(label) {
label.text("Good result!");
},
submitHandler: function() {
alert("submitted!");
}
});
答案 0 :(得分:2)
我认为你应该使用:
if ($(element).prop("required")) {
答案 1 :(得分:0)
您可能正在使用较旧的jQuery版本:
尝试$(元素).attr(“required”)