欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

AngularJS入門教程之表單校驗(yàn)用法示例

 更新時(shí)間:2016年11月02日 09:57:28   作者:Rongbo_J  
這篇文章主要介紹了AngularJS表單校驗(yàn)用法,結(jié)合實(shí)例形式分析了AngularJS各種常見(jiàn)的表單校驗(yàn)功能及使用技巧,需要的朋友可以參考下

本文實(shí)例講述了AngularJS表單校驗(yàn)用法。分享給大家供大家參考,具體如下:

表單數(shù)據(jù)的校驗(yàn)對(duì)于提高WEB安全性意義不大,因?yàn)榉?wù)器接收到的請(qǐng)求不一定來(lái)自我們的前端頁(yè)面,有可能來(lái)自別的站點(diǎn),黑客可以自己做一個(gè)表單,把數(shù)據(jù)提交到我們的服務(wù)器(即跨站偽造請(qǐng)求),這樣就繞過(guò)了前端頁(yè)面的校驗(yàn)。如果對(duì)HTTP協(xié)議比較熟,甚至還可以在程序中手動(dòng)構(gòu)造一段HTTP請(qǐng)求發(fā)到服務(wù)器,所以服務(wù)器端的數(shù)據(jù)校驗(yàn)絕對(duì)是必不可少的。

WEB前端數(shù)據(jù)校驗(yàn)的意義在于改善用戶體驗(yàn),用戶不用等到將數(shù)據(jù)提交到服務(wù)器后才知道哪些數(shù)據(jù)是不合法的。

使用AngularJS對(duì)表單元素進(jìn)行校驗(yàn)是相當(dāng)方便的,我們來(lái)看一下可以在input元素上使用的所有校驗(yàn)選項(xiàng)。

1.必填項(xiàng)

驗(yàn)證某個(gè)表單輸入是否已填寫,只要在輸入字段元素上添加HTML5標(biāo)記required即可:

<input type="text" required />

2. 最小長(zhǎng)度

驗(yàn)證表單輸入的文本長(zhǎng)度是否大于某個(gè)最小值,在輸入字段上使用AngularJS指令ng-minleng= "{number}":

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

3. 最大長(zhǎng)度

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

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

4. 模式匹配

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

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

5. 電子郵件

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

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

6. 數(shù)字

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

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

7. URL

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

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

我們看一下具體的一個(gè)案例代碼:

<!DOCTYPE html>
<html ng-app="loginMod">
<head lang="en">
  <meta charset="UTF-8">
  <script type="text/javascript" src="angular-1.3.0.14/angular.js"></script>
  <script type="text/javascript" src="angular-1.3.0.14/angular-messages.js"></script>
  <title>tutorial06_1</title>
  <style>
    input.ng-invalid {
      border: 1px solid red;
    }
    input.ng-valid {
      border: 1px solid green;
    }
  </style>
</head>
<body>
<div>
  <form name="loginForm" novalidate ng-submit="login()" ng-controller="LoginController">
    <div style="width:280px;float:left">
      <label>用戶名:</label>
      <input type="text" placeholder="請(qǐng)輸入用戶名" name="uname" ng-model="uname" ng-minlength=
          3 ng-maxlength=10 required />
    </div>
    <div class="error" ng-messages="loginForm.uname.$error" style="color:red;">
      <div ng-message="required">用戶名不能為空</div>
      <div ng-message="minlength">用戶名長(zhǎng)度至少為3</div>
      <div ng-message="maxlength">用戶名長(zhǎng)度不能超過(guò)10</div>
    </div>
    <br/><br/>
    <button type="submit">提交</button>
  </form>
</div>
<script>
  var loginMod = angular.module('loginMod', ['ngMessages']);
  loginMod.controller("LoginController",function($scope,$log){
    $scope.login = function()
    {
      $log.info("點(diǎn)擊了按鈕");
    }
  });
</script>
</body>
</html>

表單校驗(yàn)作為AngularJs的一個(gè)ngMessages模塊封裝在angular-messages.js文件中,我們必須引入它:

<script type="text/javascript" src="angular-1.3.0.14/angular-messages.js">

除此之外還要告訴AngularJs將ngMessages作為應(yīng)用程序的依賴模塊引入,像下面這個(gè)樣子:

var loginMod = angular.module('loginMod', ['ngMessages']);

required指定文本框?yàn)楸剌旐?xiàng),ng-minlength指定最小長(zhǎng)度,ng-maxlength指定最大長(zhǎng)度,校驗(yàn)工作是AngularJs內(nèi)部完成的,我們只需要定義不滿足條件時(shí)的提示信息:

<div class="error" ng-messages="loginForm.uname.$error" style="color:red;">
  <div ng-message="required">用戶名不能為空</div>
  <div ng-message="minlength">用戶名長(zhǎng)度至少為3</div>
  <div ng-message="maxlength">用戶名長(zhǎng)度不能超過(guò)10</div>
</div>

最后我們?cè)跒g覽器中看一下效果:

我們還可以把提示信息寫在一個(gè)單獨(dú)的errors.html文件中:

<div ng-message="required">用戶名不能為空</div>
<div ng-message="minlength">用戶名長(zhǎng)度至少為3</div>
<div ng-message="maxlength">用戶名長(zhǎng)度不能超過(guò)10</div>

然后在頁(yè)面中使用ng-messages-include屬性引入這些信息:

<div class="error" ng-messages="loginForm.uname.$error"
   style="color:red;" ng-messages-include="errors/errors.html">
</div>

AngularJS源碼可點(diǎn)擊此處本站下載。

希望本文所述對(duì)大家AngularJS程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • Angular項(xiàng)目如何升級(jí)至Angular6步驟全紀(jì)錄

    Angular項(xiàng)目如何升級(jí)至Angular6步驟全紀(jì)錄

    這篇文章主要給大家介紹了關(guān)于Angular項(xiàng)目如何升級(jí)至Angular6的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2018-09-09
  • 利用Angular.js編寫公共提示模塊的方法教程

    利用Angular.js編寫公共提示模塊的方法教程

    最近工作中會(huì)經(jīng)常遇到一些公用提示,使用框架自帶很多時(shí)候不方便所以便自己編寫了一個(gè)公共提示模塊,下面這篇文章主要介紹了利用Angular.js編寫公共提示模塊的方法教程,需要的朋友可以參考借鑒,下面來(lái)一起看看吧。
    2017-05-05
  • 詳解Angular結(jié)合zTree異步加載節(jié)點(diǎn)數(shù)據(jù)

    詳解Angular結(jié)合zTree異步加載節(jié)點(diǎn)數(shù)據(jù)

    本篇文章主要給大家分享了Angular結(jié)合zTree異步加載節(jié)點(diǎn)數(shù)據(jù)的難點(diǎn)以及方法,有這方面需求的朋友參考下吧。
    2018-01-01
  • Angularjs實(shí)現(xiàn)上傳圖片預(yù)覽功能

    Angularjs實(shí)現(xiàn)上傳圖片預(yù)覽功能

    本文通過(guò)實(shí)例代碼給大家介紹了Angularjs實(shí)現(xiàn)上傳圖片預(yù)覽功能,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友參考下吧
    2017-09-09
  • AngularJS入門教程之Hello World!

    AngularJS入門教程之Hello World!

    這篇文章主要介紹了AngularJS入門教程之Hello World!,本文用經(jīng)典的應(yīng)用程序“Hello World!”來(lái)講解AngularJS,要的朋友可以參考下
    2014-12-12
  • angular中不同的組件間傳值與通信的方法

    angular中不同的組件間傳值與通信的方法

    本篇文章主要介紹了angular中不同的組件間傳值與通信的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-11-11
  • AngularJS入門教程之 XMLHttpRequest實(shí)例講解

    AngularJS入門教程之 XMLHttpRequest實(shí)例講解

    本文主要講解 AngularJS XMLHttpRequest,這里給大家整理相關(guān)資料并提供實(shí)例代碼,有需要的小伙伴參考下
    2016-07-07
  • 完美解決UI-Grid表格元素中多個(gè)空格顯示為一個(gè)空格的問(wèn)題

    完美解決UI-Grid表格元素中多個(gè)空格顯示為一個(gè)空格的問(wèn)題

    下面小編就為大家?guī)?lái)一篇完美解決UI-Grid表格元素中多個(gè)空格顯示為一個(gè)空格的問(wèn)題。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-04-04
  • AngularJS中使用HTML5手機(jī)攝像頭拍照

    AngularJS中使用HTML5手機(jī)攝像頭拍照

    這篇文章主要介紹了AngularJS中使用HTML5手機(jī)攝像頭拍照的相關(guān)資料,需要的朋友可以參考下
    2016-02-02
  • Angularjs實(shí)現(xiàn)mvvm式的選項(xiàng)卡示例代碼

    Angularjs實(shí)現(xiàn)mvvm式的選項(xiàng)卡示例代碼

    每位Web開(kāi)發(fā)者應(yīng)該都知道,選項(xiàng)卡是現(xiàn)代web網(wǎng)頁(yè)中最常用的效果之一,所以本文重點(diǎn)是用angularjs這個(gè)非常火mvvm框架,實(shí)現(xiàn)選項(xiàng)卡效果。有需要的朋友們可以參考借鑒,下面來(lái)一起看看吧。
    2016-09-09

最新評(píng)論