2013-04-04 72 views
0

我有jQuery验证问题。jQuery表单验证在多个if语句中不起作用

HTML:

<form action="#" name="validate" onsubmit="return validateRegistration();"> 
    <input type="text" id="username" value="Username" /> 
    <input type="text" id="email" value="Email" /> 
    <input type="text" id="phone" value="Phone" /> 
</form> 

function validateRegistration() { 

    var username = $('#username').val(); 
    var email = $('#email').val(); 
     var phone = $('#phone').val(); 

    if(username=='' || username == 'Username'){ 
     $('#username').after('<span class="error">Enter a username</span>'); 
    } 

    if(email=='' || email == 'Email'){ 
     $('#email').after('<span class="error">Please enter a valid email address</span>'); 
    } 

    if(phone=='' || phone == 'Phone'){ 
     $('#phone').after('<span class="error">This field is required.</span>'); 
     return false; 
    } 
} 

验证工作时的形式中没有任何价值。如果我只填写电话字段,则表单将以return true提交。我不能在所有字段中输入return false,因为所有验证错误都应该一次显示。我给出的代码简短而且原创。我有30多个领域,所以任何主要的变化都是痛苦的。任何帮助?

+0

尝试清除()的变量'函数validateRegistration值{VAR用户名=( “”); var email =(“”); var phone =(“”)}' – John 2013-04-04 06:48:55

+0

请在标记问题时加倍小心。这与[tag:jquery-validate]插件无关。编辑。谢谢。 – Sparky 2013-04-04 14:42:29

+0

@Sparky对不起,我永远不会知道该标签是用于jQuery验证插件。我会照顾它。 – Sree 2013-04-08 05:11:37

回答

1
function validateRegistration() { 
     var notError = true; 
     var username = $('#username').val(); 
     var email = $('#email').val(); 
      var phone = $('#phone').val(); 

     if(username=='' || username == 'Username'){ 
      $('#username').after('<span class="error">Enter a username</span>'); 
      notError = false; 
     } 

     if(email=='' || email == 'Email'){ 
      $('#email').after('<span class="error">Please enter a valid email address</span>'); 
      notError = false; 
     } 

     if(phone=='' || phone == 'Phone'){ 
      $('#phone').after('<span class="error">This field is required.</span>'); 
      notError = false; 
     } 

     return notError; 
    } 

希望这将满足您的需求

+0

或简化最后一位:返回错误; – 2013-04-04 07:22:49

+0

@c_kick我按照你的建议编辑:D – 2013-04-04 07:28:29

+0

@Dan Cuong谢谢。有效。 – Sree 2013-04-08 05:12:18