jQuery Validate表單驗證基本流程介紹

admin發表於2018-08-26

要實現表單驗證功能,外掛自然有驗證流程,本文將對其做一下分析。

也許初學者對本文的一些內容暫時無法理解,這不用擔心,其他章節自然會有涉及。

下面就通過程式碼例項分步解析一下,先看程式碼例項:

[HTML] 純文字檢視 複製程式碼執行程式碼
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta name="author" content="http://www.softwhy.com/" />
<title>螞蟻部落</title>
<style>
ul li{
  list-style:none;
  margin-top:5px;
}
span.error {
  color:red;
}
span.success {
  color:green;
}
</style>
<script src="http://libs.baidu.com/jquery/1.9.0/jquery.js"></script>
<script src="http://www.softwhy.com/demo/jQuery/js/jquery.validate.js"></script>
<script src="http://www.softwhy.com/demo/jQuery/js/messages_zh.js"></script>
<script>
$.validator.setDefaults({
  success: function (succ) {
    succ.text("螞蟻部落歡迎您").addClass("success");
  }
});
 
$(document).ready(function () {
  $("#one").validate();
 
  $("#two").validate({
    errorElement: "span",
    errorClass: "error"
  });
});
</script>
</head>
<body>
<form id="one">
  <ul>
    <li>姓名:<input type="text" name="username" required/></li>
    <li>密碼:<input type="password" name="pw" required/></li>
    <li>郵箱:<input type="email" name="email" required /></li>
    <li>
      <input type="submit" value="提交"/>
      <input type="reset" value="重置"/>
    </li>
  </ul>
</form>
<form id="two">
  <ul>
    <li>姓名:<input type="text" name="username" required/></li>
    <li>密碼:<input type="password" name="pw" required/></li>
    <li>郵箱:<input type="email" name="email" required /></li>
    <li>
      <input type="submit" value="提交"/>
      <input type="reset" value="重置"/>
    </li>
  </ul>
</form>
</body>
</html>

上面的程式碼實現了對兩個表單的簡單驗證,下面介紹一下它的實現過程。

要使用Validate外掛,則需要引入jQuery庫和Validate外掛,程式碼如下:

[HTML] 純文字檢視 複製程式碼
<script src="http://libs.baidu.com/jquery/1.9.0/jquery.js"></script>
<script src="http://www.softwhy.com/demo/jQuery/js/jquery.validate.js"></script>

外掛的驗證提示語預設是英文的,如果要轉換為中文,那麼需要引入對應的語言補丁,程式碼如下:

[HTML] 純文字檢視 複製程式碼
<script src="http://www.softwhy.com/demo/jQuery/js/messages_zh.js"></script>

如果你的驗證提示資訊都是自定義的,那麼完全沒有必要引入此補丁。

[JavaScript] 純文字檢視 複製程式碼
$.validator.setDefaults({
  success: function (succ) {
    succ.text("螞蟻部落歡迎您").addClass("success");
  }
});

通過setDefaults()方法可以重新設定全域性預設引數,也就是說對於任何一個validator類的驗證例項都是有效的。

[JavaScript] 純文字檢視 複製程式碼
$("#one").validate();

通過jQuery物件呼叫validate()方法可以建立一個validator類驗證例項物件,並且可以對錶進行基礎的驗證。

[JavaScript] 純文字檢視 複製程式碼
$("#two").validate({
  errorElement: "span",
  errorClass: "error"
});

與上一個程式碼類似,不同的是為validate方法傳遞了配置物件,可以對預設配置項重新設定。

與setDefaults方法不同的是,validate方法只會對當前驗證例項物件進行配置。

所以在程式碼中,正確提示資訊都是"螞蟻螞蟻部落歡迎您",因為它是進行的全域性配置;第二個表單的正確提示資訊字型顏色是綠色,第一個表單的提示資訊是預設,因為預設的錯誤資訊元素是lable,所以span.success不會匹配它,第二個則將錯誤資訊元素修改為span。

相關文章