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

