Javascript jquery在自定义方法中使用if语句进行验证
我正在使用jquery的验证插件,并使用以下自定义方法:Javascript jquery在自定义方法中使用if语句进行验证,javascript,jquery,jquery-validate,Javascript,Jquery,Jquery Validate,我正在使用jquery的验证插件,并使用以下自定义方法: $.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.defaultVa
$.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语句返回错误元素。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!");
}
});
我认为你应该使用:
if ($(element).prop("required")) {
您可能正在使用较旧的jQuery版本:
试试$(element.attr(“必选”)@Adil-见编辑的post.Ha!虽然我认为我已经尝试了一切,但我想我错过了这一次。谢谢通常情况下是这样的-您几乎尝试了这个确切的答案,但不是完全:)@Tom:如果您不想将元素包装到jQuery对象中,您也可以使用element.getAttribute(“必需”)
,但是如果您使用的是jQuery,则不需要混合语法。try$(element).attr(“必需”)@RajeevSharma:你应该用你的注释更新你的答案$(元素)。attr(“必需”)
作为元素。attr(“必需”)
不会执行。