parsley之表單驗證初探

parsley.js可直接在html的dom中添加屬性來控制表單驗證,而不是需要另外定義js文件來驗證。國內直接定義html屬性來驗證的有validForm,總體是根據正則表達式來完成校驗。現在來介紹一款開源的js表單驗證插件parsley

1. 引入jquery.js;jquery版本要>=1.8;

2. 驗證信息默認爲英文的,漢化請到https://github.com/guillaumepotier/Parsley.js/tree/master/dist/i18n下載;

3. 如須支持IE8,需要加https://github.com/es-shims/es5-shim下的es5-shim.min.js;

4.應用parsley.css可到http://parsleyjs.org/src/parsley.css下載;

5.data-parsley-validate屬性到<form>元素;

注:對於form表單是否加data-parsley-validate屬性,下面的例子測試不加也可以驗證;但官網特意說了要加上,可能是會有某些影響。

Do not add data-parsley-validate to your forms

Please be aware that Parsley looks at all data-parsley-validate occurrences in DOM on document load and automatically binds them if valid.
Once a form or field instance is bound by Parsley, doing $('#form').parsley(options); will update the existing options but not replace them.

6. 定義的屬性爲data-parsley-前綴,後面直接拼接html屬性;

7.在form表單綁定一個屬性,用該屬性調用parsley()即可實現表單的驗證;

當前用的parsley爲2.x版本,與1.x版本相差較大。1.x的文檔http://parsleyjs.github.io/Parsley-1.x/;升級參考https://github.com/guillaumepotier/Parsley.js/blob/master/UPGRADE-2.0.md

實例參考:

<!DOCTYPE html>
<html lang="zh-CN">
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <title>parsley-初篇</title>
</head>

<body>
  <form id="form" action="index.html" method="post" data-parsley-validate>
    <div>
      <label for="userName">姓名:</label>
      <input type="text" id="userName" name="userName" data-parsley-required="true"/>
    </div>
	
    <div>
      <label for="hobby">特長:</label>
      <input type="text" id="hobby" name="hobby" data-parsley-required="true" data-parsley-minlength="4"/>
    </div>
	
    <div>
      <input type="submit" value="提交"/>
    </div>
  </form>
  
  <script src="../jquery-1.x.min.js"></script><!-- 依賴的jquery版本必須>=1.8 -->
  <script src="parsley.min.js"></script>
  <script src="i18n/zh_cn.js"></script><!-- 本地化提示信息 -->
  <script>
  $(function(){
    $('#form').parsley();//調用parsley表單驗證插件
  });
  </script>
<body>
</html>

data-parsley-required="true"爲必填驗證;其他格式驗證(如:data-parsley-minlength="4")與必填不衝突;如果只設置格式驗證,未設置必填,那麼在輸入內容後會進行驗證。不輸入內容則不驗證格式是否錯誤。

發佈了102 篇原創文章 · 獲贊 49 · 訪問量 33萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章