• <fieldset id="8imwq"><menu id="8imwq"></menu></fieldset>
  • <bdo id="8imwq"><input id="8imwq"></input></bdo>
    最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
    問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
    當前位置: 首頁 - 科技 - 知識百科 - 正文

    AngularJS表單驗證功能

    來源:懂視網 責編:小采 時間:2020-11-27 22:27:42
    文檔

    AngularJS表單驗證功能

    AngularJS表單驗證功能: 能夠根據用戶在表單中輸入的內容給出實時視覺反饋是非常重要的。在人與人溝通的語境中,表單驗證給出來的反饋同獲得正確輸入同等重要。 表單驗證不僅能給用戶提供有用的反饋,同時也能保護我們的Web應用不會被惡意或者錯誤的輸入所破壞。我們要在Web前端盡
    推薦度:
    導讀AngularJS表單驗證功能: 能夠根據用戶在表單中輸入的內容給出實時視覺反饋是非常重要的。在人與人溝通的語境中,表單驗證給出來的反饋同獲得正確輸入同等重要。 表單驗證不僅能給用戶提供有用的反饋,同時也能保護我們的Web應用不會被惡意或者錯誤的輸入所破壞。我們要在Web前端盡

            能夠根據用戶在表單中輸入的內容給出實時視覺反饋是非常重要的。在人與人溝通的語境中,表單驗證給出來的反饋同獲得正確輸入同等重要。

      表單驗證不僅能給用戶提供有用的反饋,同時也能保護我們的Web應用不會被惡意或者錯誤的輸入所破壞。我們要在Web前端盡力保護后端。

      AngularJS能夠將HTML5表單驗證功能同它自己的驗證指令結合起來使用,并且非常方便。AngularJS提供了很多表單驗證指令。

    <form name="form" novalidate>
     <label name="email">Your email</label>
     <input type="email" name="email" ng-model="email" placeholder="Email Address"/>
    </form>
    

    要使用表單驗證,首先要確保表單像上面的例子一樣有一個 name 屬性。

      所有輸入字段都可以進行基本的驗證,比如最大、最小長度等。這些功能是由新的HTML5表單屬性提供的。

      如果想要屏蔽瀏覽器對表單的默認驗證行為,可以在表單元素上添加 novalidate 標記

    1. 必填項 required

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

      注釋:required 屬性適用于以下 <input> 類型:text, search, url, telephone, email, password, date pickers, number, checkbox, radio 以及 file

    <input type="text" required />

    2. 最小長度 ng-minleng="{number}"

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

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

    3. 最大長度 ng-maxlength="{number}"

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

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

    4. 模式匹配  ng-pattern="/PATTERN/"

            使用 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" />
    

    在表單中控制變量

      表單的屬性可以在其所屬的 $scope 對象中訪問到,而我們又可以訪問 $scope 對象,因此JavaScript可以間接地訪問DOM中的表單屬性。借助這些屬性,我們可以對表單做出實時(和AngularJS中其他東西一樣)響應。這些屬性包括下面這些。(注意,可以使用下面的格式訪問這些屬性。)

    formName.inputFieldName.property 

    ■未修改的表單

      這是一個布爾屬性,用來判斷用戶是否修改了表單。如果未修改,值為 true ,如果修改過值為 false

    formName.inputFieldName.$pristine 

    ■修改過的表單

      只要用戶修改過表單,無論輸入是否通過驗證,該值都返回 true

    formName.inputFieldName.$dirty 

     ■合法的表單

      這個布爾型的屬性用來判斷表單的內容是否合法。如果當前表單內容是合法的,下面屬性的值就是 true :

    formName.inputFieldName.$valid 

    ■ 不合法的表單

      這個布爾屬性用來判斷表單的內容是否不合法。如果當前表單內容是不合法的,下面屬性的值為 true :

    formName.inputFieldName.$invalid

    ■ 錯誤

      這是AngularJS提供的另外一個非常有用的屬性: $error 對象。它包含當前表單的所有驗證內容,以及它們是否合法的信息。用下面的語法訪問這個屬性:

    formName.inputfieldName.$error  

    $parsers

      當用戶同控制器進行交互,并且 ngModelController 中的 $setViewValue() 方法被調用時,$parsers 數組中的函數會以流水線的形式被逐個調用。第一個 $parse 被調用后,執行結果會傳遞給第二個 $parse ,以此類推

      這些函數可以對輸入值進行轉換,或者通過 $setValidity() 函數設置表單的合法性。

      使用 $parsers 數組是實現自定義驗證的途徑之一。

      例如,假設我們想要確保輸入值在某兩個數值之間,可以在 $parsers 數組中入棧一個新的函數,這個函數會在驗證鏈中被調用。

      每個 $parser 返回的值都會被傳入下一個 $parser 中。當不希望數據模型發生更新時返回undefined 。 

     html

    <!DOCTYPE html>
    <html ng-app="myApp">
    <head>
     <meta charset="utf-8">
     <meta http-equiv="X-UA-Compatible" content="IE=edge">
     <title>表單測試</title>
     <link rel="stylesheet" href="">
     <script type="text/javascript" src="angular.1.2.13.js"></script>
    </head>
    <body>
     <div ng-controller="TestController">
     <form name="testForm">
     <input type="number" name="inputs" ng-test ng-model="obj.number">
     <span ng-show="testForm.inputs.$error.test">good</span>
     <span ng-hide="testForm.inputs.$error.test">bad</span>
     <div>{{ testForm.inputs.$valid }}</div>
     <div>{{ testForm.inputs.$invalid }}</div>
     <div>{{ obj.number }}</div>
     </form>
     </div>
     <script type="text/javascript" src="test5app.js"></script>
    </body>
    </html>
    

    javascript  ( test5app.js )

    angular.module('myApp', []).controller('TestController', function($scope) {
     $scope.obj = {
     number: 34
     }
    }).directive('ngTest', function() {
     return {
     require: '?ngModel',
     restrict: 'AE',
     link: function($scope, iElm, iAttrs, ngModel) {
     if (!ngModel) return;
     ngModel.$parsers.push(function(viewValue) {
     var num = parseInt(viewValue);
     if (num >= 0 && num < 99) {
     ngModel.$setValidity('test', true);
     return viewValue
     } else {
     ngModel.$setValidity('test', false);
     return undefined
     }
     })
     }
     }
    });
    
    

    聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

    文檔

    AngularJS表單驗證功能

    AngularJS表單驗證功能: 能夠根據用戶在表單中輸入的內容給出實時視覺反饋是非常重要的。在人與人溝通的語境中,表單驗證給出來的反饋同獲得正確輸入同等重要。 表單驗證不僅能給用戶提供有用的反饋,同時也能保護我們的Web應用不會被惡意或者錯誤的輸入所破壞。我們要在Web前端盡
    推薦度:
    標簽: 功能 form angularjs
    • 熱門焦點

    最新推薦

    猜你喜歡

    熱門推薦

    專題
    Top
    主站蜘蛛池模板: 色偷偷88888欧美精品久久久| 国产A∨免费精品视频| 国产精品久久网| 中文国产成人精品久久不卡| 国产福利精品视频自拍| 91精品啪在线观看国产| 无码精品人妻一区二区三区免费看| 国产精品人人做人人爽人人添| 8x福利精品第一导航| 亚洲国产精品成人久久| 热综合一本伊人久久精品| 国产精品美女久久久网AV| 精品国产第1页| 国产精品伦一区二区三级视频| 亚洲国产一成人久久精品| 日韩精品无码Av一区二区| 精品一区二区三区免费视频| 国产99久久九九精品无码| 老司机国内精品久久久久| 国产亚洲精品a在线观看app| 91精品国产乱码久久久久久 | 精品久久久久久无码专区| 中文字幕精品无码久久久久久3D日动漫 | 久99久无码精品视频免费播放| 91久久精品国产免费直播| 久久成人国产精品二三区| 国产精品欧美久久久天天影视| 经典国产乱子伦精品视频| 97精品国产福利一区二区三区 | 欧美精品亚洲精品日韩1818| 国产成人精品日本亚洲专| 成人久久精品一区二区三区| 99精品高清视频一区二区| 91精品欧美综合在线观看| 久久青青草原国产精品免费| 国产精品久久一区二区三区| 动漫精品专区一区二区三区不卡| 国产成人精品亚洲日本在线| 国产精品视频久久久| 国产精品亚洲午夜一区二区三区| 久久99国产精品99久久|