2012-05-02 55 views
0

我想用jQuery驗證表單,使用驗證插件,但似乎無法解決如何設置多個規則,以驗證多個字段。jQuery驗證插件多個規則/字段

這裏是我的測試腳本:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<title>Untitled Document</title> 
<link rel="stylesheet" type="text/css" href="styles.css"> 
<script type="text/javascript" src="jquery-1.7.2.min.js"></script> 
<script type="text/javascript" src="jquery.validate.min.js"></script> 
<script type="text/javascript"> 
    $(document).ready(function(){  
     $("#test").click(function() {    
      $('#test_form').validate({ 
       rules: { 
        firstName: { 
         required: true 
        }, 
        surname: { 
         required: true 
        } 
       }, 
       success: function() { 
        alert('it works?'); 
       } 
      }); 
     }); 
    }); 
</script> 
</head> 
<body> 
<form id="test_form" action="" method="post"> 
    <fieldset> 
     <legend>Create an Account</legend> 
     <label for="firstName">First Name</label><br/> 
     <input id="firstName" name="firstName" type="text" /><br/><br/> 
     <label for="surname">Surname</label><br/> 
     <input id="surname" name="surname" type="text" /><br/><br/> 
     <a href="#" id="test">try me</a> 
    </fieldset> 
</form> 
</body> 
</html> 

如何我已經成功地搞砸了任何想法,這將是非常感謝!

謝謝!

+0

你不括'.validate()''一。點擊()內'因爲插件已處理表單提交事件。另外,默認情況下字段爲'required:true',所以不需要指定每個字段。 – Sparky

+0

@ Sparky672 - 所有字段都是**不是**默認'required:true',但是否則我同意您的評論。 – Ryley

+0

@Ryley,是的,我的錯誤,你是對的。因此,不要理我的第二句話,但是OP可以避免在他的字段中添加'class ='required''來聲明所有'required:true'規則。 – Sparky

回答

1

您需要在點擊鏈接之前致電$("#test_form").validate(...)。現在發生的事情是鏈接被點擊時,驗證被添加到表單中,但沒有經過測試。

試試這個:

var $form = $('#test_form'); 

$form.validate({ 
    rules: { 
     firstName: { 
      required: true 
     }, 
     surname: { 
      required: true 
     } 
    }, 
    success: function() { 
     alert('it works?'); 
    } 
}); 

$("#test").click(function(e) { 
    e.preventDefault(); 
    $form.submit(); 
}); 
0
$(document).ready(function() { 
    $('#Invoice').validate({ 
     rules: { 
      code: { 
       required: true, 
       int: true 
      }, 

      price: { 
       required: true, 
       int: true 
      } 
     } 
    }); 
}); 
相關問題