jquery使用自定义方法中的if语句进行验证

时间:2012-08-14 16:18:03

标签: javascript jquery jquery-validate

我正在使用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!");
    }
});

2 个答案:

答案 0 :(得分:2)

我认为你应该使用:

if ($(element).prop("required")) { 

答案 1 :(得分:0)

您可能正在使用较旧的jQuery版本:

尝试$(元素).attr(“required”)