jQuery表单验证不起作用

时间:2017-01-03 06:03:13

标签: jquery jquery-validate

我使用以下jQuery脚本来验证电话号码。该电话号码字段为不是必填字段,但用户无法输入错误的电话号码。如果我输入的电话号码不正确,则会显示"请指定有效的电话号码"信息。

但是我可以提交表格而无需关心错误信息,如果只输入的电话号码是正确的,有人可以告诉我如何允许提交表格。

    jQuery.validator.addMethod("fnType", function (phone_number, element) {
        phone_number = phone_number.replace(/\s+/g, "");
        return this.optional(element) || phone_number.length > 9 &&
                phone_number.match(/^\+[0-9]{11}$/);
    }, "Please specify a valid phone number");


    jQuery("#EditView").validate({
        rules: {
            phone_work: {
                fnType: true
            },
            phone_fax: {
                fnType: true
            },
            phone_mobile: {
                fnType: true
            }
        }
    });

3 个答案:

答案 0 :(得分:0)

我正在使用它并且工作正常:

$.validator.addMethod("nonleadingzero", function(value, element) {
        return /^[1-9][0-9]*$/i.test(value);
    }, 
        "Please enter a valid mobile number"
);

$('#frmId').validate({
    mobile: {
        // other validation, if any
        nonleadingzero: true,
    }
});

答案 1 :(得分:0)

$.validator.addMethod("fnType", function(value, element) {
        return this.optional(element) || value.match(/^[\d]*\d[\d]*$/);
    }, "Please enter a valid phone number.");   


jQuery("#EditView").validate({
    rules: {
        phone_work: {
            fnType: true,
            minlength: 10
           }
    }
    messages: {
            phone_work: {
                minlength: "Min length of Phone Number is 10 digits.",
            }
    }
});

答案 2 :(得分:0)

添加所需的错误

jQuery("#EditView").validate({
    rules: {
        phone_work: {
            fnType: true,
            required: false
        },
        phone_fax: {
            fnType: true,
            required: false
        },
        phone_mobile: {
            fnType: true,
            required: false
        }
    }
});