尽管如此,仍然会发生电子邮件验证:false,

时间:2017-05-02 01:58:35

标签: jquery validation

我正在使用jquery验证插件。我想保留电子邮件可选,并且只有在我们输入字段时才想验证它。我已尝试过必需:false,在规则中但验证仍在进行中。请帮忙。

$( document ).ready( function () {

    $.validator.addMethod("customemail", 
            function(value, element) {
                return /^\b[A-Z0-9._%-]+@[A-Z0-9.-]+\.[A-Z]{2,4}\b$/i.test(value);
            }
        );

    $( "#signupForm" ).validate( {
            rules: {
email: {
                required: false,
                customemail: true 
            },
messages: {
email: {
                customemail: "Please enter a valid e-mail address",
            },

1 个答案:

答案 0 :(得分:0)

更改您的代码,如下所示:

$.validator.addMethod("customemail", function(value, element) {
        if ($("#email").val().length == 0) {
            return true;
        }
        else if ($("#email").val().length > 0) {
            return /^\b[A-Z0-9._%-]+@[A-Z0-9.-]+\.[A-Z]{2,4}\b$/i.test(value);
        }
    },"Please enter a valid e-mail address");

并从验证规则和customemail中删除required:false:"请输入有效的电子邮件地址"来自消息。

$(" #mail")。val() - 确保id与输入id相同

希望这有帮助