2009-08-03 64 views
0
rules: { 
firstname: "required", 
lastname: "required", 
birthdate: { 
    date: true, 
    required: true, 
    minimumAge: true 
}, 
consent: { 
    required: function(element) { 
    return getAge($("#birthdate").val()) < 18; 
    $("#consent").show(); 
    } 
} 
}); 
$("#consent").hide(); 

我想显示复选框的同意如果用户的年龄低于18,从上述代码为什么不工作?隐藏和显示某些字段与jQuery验证

回答

1
return getAge($("#birthdate").val()) < 18; 

^你返回一个布尔值,而函数执行完毕,因此不会处理$(“#同意”)。节目()..你可能是指如果以这个包裹在声明:

if (getAge($('#birthdate').val()) < 18) { 
    $('#consent').show(); 
} 

或逆转<来>,但它的作品了。

+0

您的第一个答案将起作用,但是将< to >颠倒过来无效。它只会返回OP中代码的反面。 – Marius 2009-08-03 02:09:23