国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > JS > 正文

AngularJS使用ngMessages進行表單驗證

2024-05-06 16:26:59
字體:
來源:轉載
供稿:網友
這篇文章主要介紹了AngularJS使用ngMessages進行表單驗證的相關資料,需要的朋友可以參考下
 

AngularJS 誕生于2009年,由Misko Hevery 等人創建,后為Google所收購。是一款優秀的前端JS框架,已經被用于Google的多款產品當中。AngularJS有著諸多特性,最為核心的是:MVVM、模塊化、自動化雙向數據綁定、語義化標簽、依賴注入等等。

名稱為"ngMessages"的module,通過npm install angular-messages進行安裝。在沒有使用ngMessages之前,我們可能這樣寫驗證:

<form name="userForm"><input type="text" name="username" ng-model="user.username" ng-minlength="3" ng-maxlength="8"required><p ng-show="userForm.username.$error.minlength">Username is too short.</p><p ng-show="userForm.username.$error.maxlength">Username is too long.</p><p ng-show="userForm.username.$error.required">Your username is required.</p></form>

以上,列舉了每種可能的驗證失敗,并且手工編寫是否顯示錯誤提示信息。

有了"ngMessages"這個module,大致這么寫:

<div class="help-block" ng-messages="userForm.name.$error" ng-if="userForm.name.$touched"><p ng-message="minlength">用戶名最小長度5</p><p ng-message="maxlength">用戶名最大長度10</p><p ng-message="required">用戶名必填</p></div>

ngMessages為我們自動判斷顯示哪種錯誤。

使用ngMessages的幾個關鍵點:

● npm install angular-messages
● 引用:angular-messages.js
● 依賴:angular.module('app',['ngMessages'])

這里有一個簡單的Demo,文件結構:

node_modules/
app.js
emailmessages.html
index.html

安裝如下:

npm install bootstrap
npm install angular
npm install angular-messages

==index.html

<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title></title><link rel="stylesheet" href="node_modules/bootstrap/dist/css/bootstrap.min.css"/><style>body{padding-top: 50px;}</style></head><body class="container" ng-app="app" ng-controller="MainCtrl as main"><form name="userForm" novalidate><div class="form-group" ng-class="{'has-error':userForm.name.$touched && userForm.name.$invalid}"><label>用戶名</label><input type="text" name="name" class="form-control"ng-model="main.name"ng-minlength="5"ng-maxlength="10" required/><div class="help-block" ng-messages="userForm.name.$error" ng-if="userForm.name.$touched"><p ng-message="minlength">用戶名最小長度5</p><p ng-message="maxlength">用戶名最大長度10</p><p ng-message="required">用戶名必填</p></div></div><div class="form-group" ng-class="{'has-error':userForm.email.$touched && userForm.email.$invalid}"><label>郵箱</label><input type="email" name="email" class="form-control"ng-model="main.email"ng-minlength="5"ng-maxlength="20" required/><div class="help-block" ng-messages="userForm.email.$error" ng-if="userForm.email.$touched"><div ng-messages-include="emailmessages.html"></div></div></div><div class="form-group"><button type="submit" class="btn btn-danger">提交</button></div><pre>{{userForm.name.$error}}</pre><pre>{{userForm.email.$error}}</pre></form><script src="node_modules/angular/angular.min.js"></script><script src="node_modules/angular-messages/angular-messages.js"></script><script src="app.js"></script></body></html>

app.js

angular.module('app',['ngMessages']).controller('MainCtrl', MainCtrl);function MainCtrl(){}

emailmessages.html

把有關email的表單驗證放在這里,通過<div ng-messages-include="emailmessages.html"></div>顯示到頁面某個位置上。

<p ng-message="required">郵箱必填</p><p ng-message="minlength">郵箱長度太短</p><p ng-message="maxlength">郵箱長度太長</p><p ng-message="email">郵箱無效</p>

ps:常用的表單驗證指令

1. 必填項驗證

某個表單輸入是否已填寫,只要在輸入字段元素上添加HTML5標記required即可:

 

復制代碼代碼如下:

<input type="text" required /> 

 

2. 最小長度

驗證表單輸入的文本長度是否大于某個最小值,在輸入字段上使用指令ng-minleng= "{number}":

 

復制代碼代碼如下:

<input type="text" ng-minlength="5" /> 

 

3. 最大長度

驗證表單輸入的文本長度是否小于或等于某個最大值,在輸入字段上使用指令ng-maxlength="{number}":

 

復制代碼代碼如下:

<input type="text" ng-maxlength="20" />

 

4. 模式匹配

使用ng-pattern="/PATTERN/"來確保輸入能夠匹配指定的正則表達式:

 

復制代碼代碼如下:

<input type="text" ng-pattern="/[a-zA-Z]/" /> 

 

5. 電子郵件

驗證輸入內容是否是電子郵件,只要像下面這樣將input的類型設置為email即可:

 

復制代碼代碼如下:

<input type="email" name="email" ng-model="user.email" /> 

 

6. 數字

驗證輸入內容是否是數字,將input的類型設置為number:

 

復制代碼代碼如下:

<input type="number" name="age" ng-model="user.age" /> 

 

7. URL

驗證輸入內容是否是URL,將input的類型設置為 url:

 

復制代碼代碼如下:

<input type="url" name="homepage" ng-model="user.facebook_url" />


注:相關教程知識閱讀請移步到JavaScript/Ajax教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 泌阳县| 潞城市| 商城县| 绍兴市| 长武县| 阿克| 太仆寺旗| 宁都县| 南开区| 义马市| 肥西县| 镇坪县| 牡丹江市| 揭阳市| 旅游| 汽车| 南投市| 南和县| 子洲县| 县级市| 鄂尔多斯市| 南陵县| 卓尼县| 青州市| 榆林市| 永和县| 揭东县| 重庆市| 惠东县| 精河县| 德清县| 新密市| 远安县| 阿巴嘎旗| 澜沧| 金沙县| 庆元县| 柞水县| 尼勒克县| 横山县| 德令哈市|