AngularJS驗證信息框架的封裝插件用法【w5cValidator擴展插件】
本文實例講述了AngularJS驗證信息框架的封裝插件用法。分享給大家供大家參考,具體如下:
AngularJS 的表單驗證規(guī)則
angular.js 的表單驗證規(guī)則有 required(必填項),type="number"(必須為數(shù)字),type="email"(必須為郵箱地址),ng-max(最大值),ng-min(最小值),ng-max-length(最大長度),ng-min-length(最小長度),ng-pattern(正則驗證)等等,而且angular寫自定的驗證規(guī)則也很簡單。
具體的驗證細節(jié)參考官方文檔:http://docs.angularjs.org/guide/forms
AngularJS 默認的驗證是實時的,如果輸入框輸入值驗證通過會在input上加入class ng-valid,如果驗證不通過會自動添加 class ng-invalid,輸入框輸入了值之后自動加上了 class ng-dirty,這樣系統(tǒng)可以很簡單的通過修改 ng-invalid ng-valid ng-dirty 三個樣式達到驗證提示的目的。但是如果驗證失敗需要提示一段文字,那么只有通過編寫模板來達到。
Angular.js 驗證的缺點
1. 提示信息是實時顯示的,有時候我們更想要通過表單提交觸發(fā)驗證
2. 寫驗證提示信息需要寫大量模板:
<div> Size (integer 0 - 10): <input type="number" ng-model="size" name="size" min="0" max="10" integer />{{size}}<br /> <span ng-show="form.size.$error.integer">This is not valid integer!</span> <span ng-show="form.size.$error.min || form.size.$error.max"> The value must be in range 0 to 10!</span> </div>
w5cValidator 擴展插件的出現(xiàn)
Github上的源碼地址為:https://github.com/why520crazy/w5c-validator-angular
目前版本v1.0.0
使用步驟:
1. 在項目中引用 w5cValidator.js
2. 在表單form上添加一個指令 w5c-form-validate 和 w5c-submit 如下所示:
<form class="form-horizontal cw-form demo-form" role="form" w5c-submit="js_save_entity(form_validate)" w5c-form-validate="" novalidate name="form_validate"> <div class="form-group"> <label class="col-sm-2 control-label">郵箱</label> <div class="col-sm-10"> <input type="email" name="email" ng-model="entity.email" required="" class="form-control" placeholder="輸入郵箱"> </div> </div> <div class="form-group"> <label class="col-sm-2 control-label">用戶名</label> <div class="col-sm-10"> <input required="" ng-pattern="/^[A-Za-z]{1}[0-9A-Za-z_]{1,19}$/" ng-model="entity.name" class="form-control" name="user_name" placeholder="輸入用戶名"> </div> </div> ... </form>
w5c-submit 函數(shù)是表單驗證成功后執(zhí)行的事件,驗證失敗不會執(zhí)行
3. 沒了,使用就這么簡單
w5cValidator 使用注意事項:
1. w5cValidator 默認的錯誤提示使用了bootstrap的樣式和布局,使用到你的項目中需要修改默認的 show_error, remove_error 方法,可以是tip提示,可以是統(tǒng)一在某個地方顯示等等
2. w5cValidator 可以設置光標移走input時是否顯示錯誤提示,默認false
3. w5cValidator 自帶了默認的提示信息,同時支持自定義驗證規(guī)則提示信息
4. angular.js的所有驗證信息都是保存在form表單中的,w5cValidator也是監(jiān)控表單元素的屬性來實現(xiàn)的,使用必須要設置form以及每個元素的name屬性,否則錯誤信息就找不到對應的元素
5. 看下以下的代碼你就能明白一切了:
w5cValidator.init({ //blur_trig : false, //show_error : function (elem, error_messages) { // //}, //remove_error: function (elem) { // //} }); w5cValidator.set_rules({ user_name: { required: "輸入的用戶名不能為空", pattern : "用戶名必須輸入字母、數(shù)字、下劃線,以字母開頭" } });
當然目前的 w5cValidator 還比較原始,NgNice的驗證提示就是使用了w5cValidator
未來規(guī)劃中的 w5cValidator 2.0
1. 現(xiàn)在只能設置全局的顯示類型,將來要支持單個表單的配置項,整個項目偶爾會有提示信息不同的情況
2. 代碼重構(gòu),以AngularJS的方式編寫擴展
3. 添加一些 AngularJS沒有的驗證類型 如 repeat ,uniquecheck 等
希望本文所述對大家AngularJS程序設計有所幫助。
相關文章
使用angularjs.foreach時return的問題解決
這篇文章主要介紹了使用angularjs.foreach時return的問題解決,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-09-09詳解angularJs中關于ng-class的三種使用方式說明
本篇文章主要介紹了angularJs中關于ng-class的三種使用方式說明,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-06-06AngularJS 在同一個界面啟動多個ng-app應用模塊詳解
這篇文章主要介紹了AngularJS 在同一個界面啟動多個ng-app應用模塊詳解的相關資料,需要的朋友可以參考下2016-12-12完美解決UI-Grid表格元素中多個空格顯示為一個空格的問題
下面小編就為大家?guī)硪黄昝澜鉀QUI-Grid表格元素中多個空格顯示為一個空格的問題。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-04-04