我正在使用jquery而我正在尝试验证表单。我的问题是 - 您可以在单个if语句中给出的最大测试数是多少。
function cc_validate () {
if ($("#name").val() == "" || $("#ship_name").val() == "" || $("#address").val() == "" || $("#city").val() == "" || $("#ship_city").val() == "" || $("#state").val() == "" || $("#ship_state").val() == "" || $("#postal_code").val() == "" || isNaN($("#postal_code").val()) || $("#phone").val() == "" || $("#ship_phone").val() == "" || isNaN($("#phone").val()) || isNaN($("#ship_phone").val()) || $("#mobile_number").val() == "" || $("#ship_mobile_number").val() == "" || isNaN($("#mobile_number").val()) || isNaN($("#ship_mobile_number").val()) || $("#email").val() == "") {
return false;
} else {
return true;
} }
答案 0 :(得分:6)
为什么,在你的不可读的情况下(并考虑稍后管理它),不要在代码中添加一些类,如下所示:
<input id="postal_code" class="required number" />
并让你的jquery检查如下:
function cc_validate() {
$(".required").each(function() {
if (this.val() == '') return false;
}
$(".number").each(function() {
if (isNaN(this.val()) return false;
}
}
等...?
答案 1 :(得分:4)
你可以做任意多的事情,但是如果你使用了太多的测试,那么你做错了什么,而且必须重新使用你的代码的程序员(可能是你自己)会讨厌你。
答案 2 :(得分:2)
如果您不想使用类,只需将所有字段名称添加到数组中并迭代它。
不仅可以提高可读性,而且您不必再担心运营商的数量。
这是一个更简单的解决方案,但并不像kender所建议的那样使用类。
答案 3 :(得分:0)
该数字仅受代码可读性的限制。在这种情况下,我会说它不是(可读,即):)。
此外,如果你问为什么这段代码不起作用,那么就像评论中提到的那样,$"#name"
(和其余的)是无效的语法。由于$
是一个函数,你需要将它的参数放在括号中:$('#name')
...