<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問(wèn)答1問(wèn)答10問(wèn)答100問(wèn)答1000問(wèn)答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題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關(guān)鍵字專題關(guān)鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問(wèn)答文章1 問(wèn)答文章501 問(wèn)答文章1001 問(wèn)答文章1501 問(wèn)答文章2001 問(wèn)答文章2501 問(wèn)答文章3001 問(wèn)答文章3501 問(wèn)答文章4001 問(wèn)答文章4501 問(wèn)答文章5001 問(wèn)答文章5501 問(wèn)答文章6001 問(wèn)答文章6501 問(wèn)答文章7001 問(wèn)答文章7501 問(wèn)答文章8001 問(wèn)答文章8501 問(wèn)答文章9001 問(wèn)答文章9501
        當(dāng)前位置: 首頁(yè) - 科技 - 知識(shí)百科 - 正文

        AngularJS表單驗(yàn)證功能

        來(lái)源:懂視網(wǎng) 責(zé)編:小采 時(shí)間:2020-11-27 22:27:42
        文檔

        AngularJS表單驗(yàn)證功能

        AngularJS表單驗(yàn)證功能: 能夠根據(jù)用戶在表單中輸入的內(nèi)容給出實(shí)時(shí)視覺(jué)反饋是非常重要的。在人與人溝通的語(yǔ)境中,表單驗(yàn)證給出來(lái)的反饋同獲得正確輸入同等重要。 表單驗(yàn)證不僅能給用戶提供有用的反饋,同時(shí)也能保護(hù)我們的Web應(yīng)用不會(huì)被惡意或者錯(cuò)誤的輸入所破壞。我們要在Web前端盡
        推薦度:
        導(dǎo)讀AngularJS表單驗(yàn)證功能: 能夠根據(jù)用戶在表單中輸入的內(nèi)容給出實(shí)時(shí)視覺(jué)反饋是非常重要的。在人與人溝通的語(yǔ)境中,表單驗(yàn)證給出來(lái)的反饋同獲得正確輸入同等重要。 表單驗(yàn)證不僅能給用戶提供有用的反饋,同時(shí)也能保護(hù)我們的Web應(yīng)用不會(huì)被惡意或者錯(cuò)誤的輸入所破壞。我們要在Web前端盡

                能夠根據(jù)用戶在表單中輸入的內(nèi)容給出實(shí)時(shí)視覺(jué)反饋是非常重要的。在人與人溝通的語(yǔ)境中,表單驗(yàn)證給出來(lái)的反饋同獲得正確輸入同等重要。

          表單驗(yàn)證不僅能給用戶提供有用的反饋,同時(shí)也能保護(hù)我們的Web應(yīng)用不會(huì)被惡意或者錯(cuò)誤的輸入所破壞。我們要在Web前端盡力保護(hù)后端。

          AngularJS能夠?qū)TML5表單驗(yàn)證功能同它自己的驗(yàn)證指令結(jié)合起來(lái)使用,并且非常方便。AngularJS提供了很多表單驗(yàn)證指令。

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

        要使用表單驗(yàn)證,首先要確保表單像上面的例子一樣有一個(gè) name 屬性。

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

          如果想要屏蔽瀏覽器對(duì)表單的默認(rèn)驗(yàn)證行為,可以在表單元素上添加 novalidate 標(biāo)記

        1. 必填項(xiàng) required

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

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

        <input type="text" required />

        2. 最小長(zhǎng)度 ng-minleng="{number}"

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

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

        3. 最大長(zhǎng)度 ng-maxlength="{number}"

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

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

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

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

        在表單中控制變量

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

        formName.inputFieldName.property 

        ■未修改的表單

          這是一個(gè)布爾屬性,用來(lái)判斷用戶是否修改了表單。如果未修改,值為 true ,如果修改過(guò)值為 false

        formName.inputFieldName.$pristine 

        ■修改過(guò)的表單

          只要用戶修改過(guò)表單,無(wú)論輸入是否通過(guò)驗(yàn)證,該值都返回 true

        formName.inputFieldName.$dirty 

         ■合法的表單

          這個(gè)布爾型的屬性用來(lái)判斷表單的內(nèi)容是否合法。如果當(dāng)前表單內(nèi)容是合法的,下面屬性的值就是 true :

        formName.inputFieldName.$valid 

        ■ 不合法的表單

          這個(gè)布爾屬性用來(lái)判斷表單的內(nèi)容是否不合法。如果當(dāng)前表單內(nèi)容是不合法的,下面屬性的值為 true :

        formName.inputFieldName.$invalid

        ■ 錯(cuò)誤

          這是AngularJS提供的另外一個(gè)非常有用的屬性: $error 對(duì)象。它包含當(dāng)前表單的所有驗(yàn)證內(nèi)容,以及它們是否合法的信息。用下面的語(yǔ)法訪問(wèn)這個(gè)屬性:

        formName.inputfieldName.$error  

        $parsers

          當(dāng)用戶同控制器進(jìn)行交互,并且 ngModelController 中的 $setViewValue() 方法被調(diào)用時(shí),$parsers 數(shù)組中的函數(shù)會(huì)以流水線的形式被逐個(gè)調(diào)用。第一個(gè) $parse 被調(diào)用后,執(zhí)行結(jié)果會(huì)傳遞給第二個(gè) $parse ,以此類推

          這些函數(shù)可以對(duì)輸入值進(jìn)行轉(zhuǎn)換,或者通過(guò) $setValidity() 函數(shù)設(shè)置表單的合法性。

          使用 $parsers 數(shù)組是實(shí)現(xiàn)自定義驗(yàn)證的途徑之一。

          例如,假設(shè)我們想要確保輸入值在某兩個(gè)數(shù)值之間,可以在 $parsers 數(shù)組中入棧一個(gè)新的函數(shù),這個(gè)函數(shù)會(huì)在驗(yàn)證鏈中被調(diào)用。

          每個(gè) $parser 返回的值都會(huì)被傳入下一個(gè) $parser 中。當(dāng)不希望數(shù)據(jù)模型發(fā)生更新時(shí)返回undefined 。 

         html

        <!DOCTYPE html>
        <html ng-app="myApp">
        <head>
         <meta charset="utf-8">
         <meta http-equiv="X-UA-Compatible" content="IE=edge">
         <title>表單測(cè)試</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
         }
         })
         }
         }
        });
        
        

        聲明:本網(wǎng)頁(yè)內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問(wèn)題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        AngularJS表單驗(yàn)證功能

        AngularJS表單驗(yàn)證功能: 能夠根據(jù)用戶在表單中輸入的內(nèi)容給出實(shí)時(shí)視覺(jué)反饋是非常重要的。在人與人溝通的語(yǔ)境中,表單驗(yàn)證給出來(lái)的反饋同獲得正確輸入同等重要。 表單驗(yàn)證不僅能給用戶提供有用的反饋,同時(shí)也能保護(hù)我們的Web應(yīng)用不會(huì)被惡意或者錯(cuò)誤的輸入所破壞。我們要在Web前端盡
        推薦度:
        標(biāo)簽: 功能 form angularjs
        • 熱門焦點(diǎn)

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 无码欧精品亚洲日韩一区夜夜嗨 | 亚洲综合另类小说色区| 亚洲国产成人久久一区二区三区| 1000部拍拍拍18勿入免费视频软件| 亚洲国产一区二区a毛片| 日韩视频在线观看免费| 久久亚洲春色中文字幕久久久| 午夜视频免费在线观看| 麻豆安全免费网址入口| 国产午夜无码视频免费网站| 亚洲av无码片vr一区二区三区| 国内少妇偷人精品视频免费| 好爽…又高潮了免费毛片| 中国china体内裑精亚洲日本| 黄色成人网站免费无码av| 亚洲中文无码永久免费| 国产精品免费视频播放器| 九九久久国产精品免费热6| 国产成人精品亚洲精品| 男人进去女人爽免费视频国产| 亚洲国产视频一区| 免费鲁丝片一级在线观看| 又粗又长又爽又长黄免费视频 | 免费国产美女爽到喷出水来视频| 深夜A级毛片视频免费| 中文字幕人成人乱码亚洲电影 | 亚洲国产午夜中文字幕精品黄网站| 中文永久免费观看网站| 亚洲A∨无码一区二区三区| 麻豆69堂免费视频| 亚洲人成网77777亚洲色| 日本高清在线免费| 免费一级毛片在线播放放视频| 久久精品亚洲中文字幕无码网站 | 国产卡一卡二卡三免费入口| 亚洲国产欧洲综合997久久| 在线观看午夜亚洲一区| 免费H网站在线观看的| 免费播放国产性色生活片| 亚洲精选在线观看| 日韩免费a级在线观看|