条件验证取决于2个要素



使用jQuery验证我使用了.ADDMETHOD添加正则表达式。如果未检查复选框,我也有一个规则,则需要填写元素并符合正则表达式。

nopreviousemployer是复选框的ID,如果检查了,则不应显示任何验证消息,如果未检查,则将显示所需的消息,如果输入中有数据,则应运行REGEX

    $.validator.addMethod("regex", function (value, element, regexpr) {
       return regexpr.test(value);
    }, "");

rules:{
    EndSalary1:{
        required: '#noPreviousEmployers:unchecked', 
        regex: /^$?[0-9]{1,3}(,?d{3})?(,?d{3})?(.[0-9]{2})?$/
    }
},
messages:{  
    EndSalary1:{
         required: "Required Field", 
         regex: "Format As US Currency"
    }    
}

我什至尝试过这个

$.validator.addMethod("regex", function (value, element, regexpr) {
    if(value.length != 0){
        return regexpr.test(value);
    }
}, "");     

当我检查检查复选框时,该字段中没有数据时,它将显示REGEX验证的消息。它不应在这种情况下显示任何内容。

您不需要为任何新的regex模式编写自定义规则。additional-methods.js文件中已经有一个默认规则,称为pattern,该文件将正则态度作为其参数。

rules:{
    EndSalary1:{
        required: '#noPreviousEmployers:unchecked', 
        pattern: /^$?[0-9]{1,3}(,?d{3})?(,?d{3})?(.[0-9]{2})?$/
    }
}

demo :jsfiddle.net/mrf5ja4d/

相关内容

最新更新