当字段不为空时,jquery验证

时间:2014-10-04 12:47:37

标签: javascript jquery validation

我使用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" >

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

怎么创造这个?

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

2 个答案:

答案 0 :(得分:7)

您可以使用依赖选项,例如

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

答案 1 :(得分:1)

我有相同的要求所以我使用了这段代码

 $.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;
    }
}); 

它为我工作。希望它有所帮助