使用jQuery我的用户只需要输入一个字段,ssn或者手机,但是我如何检查jquery验证是否检查了一个?
<script type="text/javascript">
$(document).ready(function () {
$("#memberrequest").validate({
rules: {
phonenumber: {
minlength: 12,
maxlength: 12
},
ssn: {
minlength: 10,
maxlength: 10
}
}
});
});
</script>
请帮帮我
答案 0 :(得分:1)
我根据你发布的内容为你做了一个小提琴,它仍然需要定制,但它会证明你的要求。
http://jsfiddle.net/whytheday/QP4wd/1/
$(document).ready(function () {
$("#memberrequest").validate({
rules: {
phonenumber: {
minlength: 12,
maxlength: 12,
required: {
depends: function(element){
return $("#ssn").val().trim() == ""
}
}
},
ssn: {
minlength: 10,
maxlength: 10,
required: {
depends: function(element){
return $("#phonenumber").val().trim() == ""
}
}
}
}
});
});
您只需将其设置为必需,然后您可以设置依赖关系,并可以检查其他字段是否有值。
答案 1 :(得分:0)
查看“必需”http://docs.jquery.com/Plugins/Validation/Methods/required#dependency-expression的选项。您可以指定依赖关系表达式或依赖关系回调。这意味着你提供了一些javascript代码(在class属性中,示例只需要:true),并且你说“如果我的代码评估为true,那么这个表单元素是必需的”。< / p>
因此,在您的情况下,电话号码和ssn字段都需要依赖关系表达式,如果另一个是空的,则需要这个。“
答案 2 :(得分:0)
您可以遍历这两个字段,看看是否有值:
$( function () {
var passesValidation = false;
$('input').each( function() {
if ( $(this).val() ) { passesValidation = true; } // could add optional check against length for this field
// $(this).val().length && $(this).val().length >= $(this).attr('data-minlength') or some such
});
});