最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

AngularJS使用ngMessages進行表單驗證

 更新時間:2015年12月27日 12:22:10   作者:Darren Ji  
這篇文章主要介紹了AngularJS使用ngMessages進行表單驗證的相關(guān)資料,需要的朋友可以參考下

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

名稱為"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的幾個關(guān)鍵點:

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

這里有一個簡單的Demo,文件結(jié)構(gòu):

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

把有關(guān)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. 電子郵件

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

復制代碼 代碼如下:

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

6. 數(shù)字

驗證輸入內(nèi)容是否是數(shù)字,將input的類型設(shè)置為number:

復制代碼 代碼如下:

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

7. URL

驗證輸入內(nèi)容是否是URL,將input的類型設(shè)置為 url:

復制代碼 代碼如下:

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

相關(guān)文章

  • AngularJS 實現(xiàn)點擊按鈕獲取驗證碼功能實例代碼

    AngularJS 實現(xiàn)點擊按鈕獲取驗證碼功能實例代碼

    本文通過實例代碼給大家介紹了AngularJS 實現(xiàn)點擊按鈕獲取驗證碼功能,代碼簡單易懂,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2017-07-07
  • Angular4學習筆記之根模塊與Ng模塊

    Angular4學習筆記之根模塊與Ng模塊

    這篇文章主要介紹了Angular4學習筆記之根模塊與Ng模塊,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-09-09
  • Angular4 ElementRef的應(yīng)用

    Angular4 ElementRef的應(yīng)用

    本篇文章主要介紹了Angular4 ElementRef的應(yīng)用,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-02-02
  • angular 基于ng-messages的表單驗證實例

    angular 基于ng-messages的表單驗證實例

    本篇文章主要介紹了angular 基于ng-messages的表單驗證實例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-05-05
  • AngularJS入門教程之路由與多視圖詳解

    AngularJS入門教程之路由與多視圖詳解

    本文主要介紹AngularJS 路由與多視圖詳解,這里整理了相關(guān)資料及示例代碼,詳細說明了在開發(fā)過程中如何應(yīng)用,有興趣的朋友可以看下
    2016-08-08
  • angular報錯can't resolve all parameters for []的解決

    angular報錯can't resolve all parameters&nb

    這篇文章主要介紹了angular報錯can't resolve all parameters for []的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • Angular項目如何使用攔截器?httpClient?請求響應(yīng)處理

    Angular項目如何使用攔截器?httpClient?請求響應(yīng)處理

    這篇文章主要介紹了Angular項目簡單使用攔截器httpClient請求響應(yīng)處理,目前我的Angular版本是Angular?17.3,版本中實現(xiàn)請求和響應(yīng)的攔截處理了,這種機制非常適合添加如身份驗證頭、錯誤統(tǒng)一處理、日志記錄等功能,需要的朋友可以參考下
    2024-06-06
  • 高效利用Angular中內(nèi)置服務(wù)$http、$location等

    高效利用Angular中內(nèi)置服務(wù)$http、$location等

    這篇文章主要介紹了如何高效利用Angular中內(nèi)置服務(wù),大家知道的Angular內(nèi)置服務(wù)有哪些,感興趣的小伙伴們可以參考一下
    2016-03-03
  • Angular使用Restful的增刪改

    Angular使用Restful的增刪改

    今天小編就為大家分享一篇關(guān)于Angular使用Restful的增刪改,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2018-12-12
  • Angular2學習教程之ng中變更檢測問題詳解

    Angular2學習教程之ng中變更檢測問題詳解

    這篇文章主要給大家介紹了Angular2學習教程之ng中變更檢測問題的相關(guān)資料,文中介紹的非常詳細,對大家具有一定的參考學習價值,需要的朋友們下面來一起看看吧。
    2017-05-05

最新評論

环江| 洛隆县| 贺州市| 安福县| 安顺市| 斗六市| 灵山县| 资兴市| 大同县| 定结县| 拉萨市| 宁晋县| 乐东| 胶南市| 昔阳县| 双柏县| 金川县| 宜兰市| 桂阳县| 临夏县| 宁明县| 左云县| 卢湾区| 万载县| 沈丘县| 营口市| 宁海县| 广水市| 通城县| 安康市| 台中市| 舞阳县| 汉源县| 青神县| 安康市| 泸西县| 汝城县| 乌鲁木齐市| 遂川县| 武冈市| 贵南县|