当字段非空时,使用jQuery验证。

6

我使用jquery validate来验证我的表单,方法如下:

$("#formuser").validate({

        rules: {

           accountname: {
            required: true,
            minlength: 6
        },
        T1: {
            required: true,
            minlength: 6
        },
            accountpassword1: {
                required: true,
                minlength: 8
            },
            accountpassword2: {
                required: true,
                minlength: 8,
                equalTo: "#accountpassword1"
            },
        },
 });

HTML:

<input id="accountpassword1" class="text-input form-control"  type="text" name="accountpassword1" size="24" placeholder="password" >

<input class="text-input form-control"  type="text" name="accountpassword2" size="24" placeholder="password" >

这对我有用。但是,我需要检查当密码1和密码2不为空时的jquery验证。我的意思是,如果密码输入为空,则jquery验证不会验证字段,否则将验证字段password1和password2。

如何创建这个功能?

注意: 我只需要使用此方法检查验证accountpassword1accountpassword2


当password1为空时,您没有收到验证错误吗? - artm
2个回答

13

您可以像这样使用depends选项:

function isPasswordPresent() {
    return $('#accountpassword1').val().length > 0;
}

$("#formuser").validate({
    rules: {
        accountname: {
            required: true,
            minlength: 6
        },
        T1: {
            required: true,
            minlength: 6
        },
        accountpassword1: {
            //required: true is not required
            minlength: {
                depends: isPasswordPresent,
                param: 8
            }
        },
        accountpassword2: {
            required: isPasswordPresent,
            minlength: {
                depends: isPasswordPresent,
                param: 8
            },
            equalTo: {
                depends: isPasswordPresent,
                param: "#accountpassword1"
            }
        },
    },
});

示例:Fiddle


运行得非常顺利 - Ajay Kumar

3

我有同样的需求,所以我使用了这段代码

 $.validator.addMethod(
    "regex",
    function(value, element, regexp){        
        return this.optional(element) || regexp.test(value);
    },
    "Please check your input.");


$('#registration').validate({        
        rules: {
        first_name: {
            required: true , regex: /([-a-zA-Z0-9]|\0)/                
        },
        last_name: {
            required: true , regex: /([-a-zA-Z0-9]|\0)/
        }            
    },        
    errorPlacement: function(){
       return false;
    },        
    submitHandler: function (form){
        alert('sucess')
        return false;
    }
}); 

它对我有用。希望它能帮助。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接