亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JavaScript > 正文

教你用AngularJS框架一行JS代碼實現控件驗證效果

2019-11-20 14:25:21
字體:
來源:轉載
供稿:網友

如上圖所示,我們需要實現如下這些驗證功能:

控件都是必輸控件
都需要控制最大長度
第一次打開頁面,控件不能顯示為錯誤狀態
輸入內容再清空后,必輸控件需要顯示為錯誤狀態
只有所有輸入合法后,發布按鈕才能變為可用狀態
通過AngularJS,我們可以很輕松的實現這些要求,只需要1行JS代碼。UI樣式這里采用的是Bootstrap。先上示例代碼:

HTML。

<!DOCTYPE html><html lang="zh-cn" ng-app="ftitApp"><head> <meta charset="utf-8" /> <title>Demo</title> <link href="/Content/bootstrap.css" rel="stylesheet"/> <script src="/Scripts/angular.js"></script></head><body> <div class="container body-content">  <!-- 主要內容區域 -->  <div class="row main-content">   <div class="col-md-9">    <!-- 聯系我們表單區域 -->    <form action="/Contact/Create" method="post" role="form" name="createContactForm" ng-controller="ContactCreateController">     <!-- UserName 您的稱呼 -->     <div class="form-group has-feedback" ng-class="{'has-success' : !createContactForm.UserName.$pristine && createContactForm.UserName.$valid, 'has-error' : !createContactForm.UserName.$pristine && createContactForm.UserName.$invalid }">      <label for="UserName">您的稱呼*</label>      <input type="text" class="form-control" ng-model="userName" name="UserName" autofocus="" required ng-maxlength=30>      <div ng-show="!createContactForm.UserName.$pristine && createContactForm.UserName.$valid">       <span class="glyphicon glyphicon-ok form-control-feedback"></span>      </div>      <div ng-show="!createContactForm.UserName.$pristine && createContactForm.UserName.$invalid">       <span class="glyphicon glyphicon-remove form-control-feedback"></span>      </div>     </div>     <!-- UserMail 郵箱地址 -->     <div class="form-group has-feedback" ng-class="{'has-success' : !createContactForm.UserMail.$pristine && createContactForm.UserMail.$valid, 'has-error' : !createContactForm.UserMail.$pristine && createContactForm.UserMail.$invalid }">      <label for="UserMail">郵箱地址*</label>      <input type="email" class="form-control" ng-model="userMail" name="UserMail" required ng-maxlength=30>      <div ng-show="!createContactForm.UserMail.$pristine && createContactForm.UserMail.$valid">       <span class="glyphicon glyphicon-ok form-control-feedback"></span>      </div>      <div ng-show="!createContactForm.UserMail.$pristine && createContactForm.UserMail.$invalid">       <span class="glyphicon glyphicon-remove form-control-feedback"></span>      </div>     </div>     <!-- Subject 主題 -->     <div class="form-group has-feedback" ng-class="{'has-success' : !createContactForm.Subject.$pristine && createContactForm.Subject.$valid, 'has-error' : !createContactForm.Subject.$pristine && createContactForm.Subject.$invalid }">      <label for="Subject">主題*</label>      <input type="text" class="form-control" ng-model="subject" name="Subject" required ng-maxlength=100>      <div ng-show="!createContactForm.Subject.$pristine && createContactForm.Subject.$valid">       <span class="glyphicon glyphicon-ok form-control-feedback"></span>      </div>      <div ng-show="!createContactForm.Subject.$pristine && createContactForm.Subject.$invalid">       <span class="glyphicon glyphicon-remove form-control-feedback"></span>      </div>     </div>     <!-- Content 內容 -->     <div class="form-group has-feedback" ng-class="{'has-success' : !createContactForm.Content.$pristine && createContactForm.Content.$valid, 'has-error' : !createContactForm.Content.$pristine && createContactForm.Content.$invalid }">      <label for="Content">內容*</label>      <textarea cols="4" rows="5" class="form-control" ng-model="content" name="Content" required ng-maxlength=1000></textarea>      <div ng-show="!createContactForm.Content.$pristine && createContactForm.Content.$valid">       <span class="glyphicon glyphicon-ok form-control-feedback"></span>      </div>      <div ng-show="!createContactForm.Content.$pristine && createContactForm.Content.$invalid">       <span class="glyphicon glyphicon-remove form-control-feedback"></span>      </div>     </div>     <!-- 提交按鈕 -->     <div class="form-group">      <div ng-show="createContactForm.$valid">       <input type="image" src="/Content/images/comment_publish_button.png" onsubmit="submit();" value="發布" ng-disabled='!createContactForm.$valid' />      </div>      <div ng-show="!createContactForm.$valid">       <img src="/Content/images/invalid_publish_button.png" />      </div>     </div>    </form>   </div>  </div> </div>  <script src="/Scripts/ftit/ContactCreateController.js"></script></body></html>

JS代碼(真的只有一行喲)

ContractCreateController.js

var ftitAppModule = angular.module('ftitApp', []);

這樣就好啦。幾個關鍵的地方解釋一下:

ng-class:這個標簽用來控制class的值。例如ng-class="{'has-success' : !createContactForm.Content.$pristine}的意思就是,如果!createContactForm.Content.$pristine的值為true,class的值就為has-success。
ng-show:控制是否顯示該控件。
createContactForm.$valid:全部驗證通過后,值為true,否則為false
createContactForm.Content.$valid:標識Content控件是否通過驗證,通過為true,否則為false
createContactForm.Content.$pristine:標識Content控件是否從未輸入過。從未輸入為true,否則為false
更細節的技術問題請查看AngularJS的技術文檔。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产美女高潮久久白浆| 欧美激情喷水视频| 欧美日韩国产精品一区| 久久99久久99精品中文字幕| 亚洲二区中文字幕| 亚洲va码欧洲m码| 欧美剧在线观看| 国产美女久久精品| 国产精品最新在线观看| 久久久中精品2020中文| 国产一区二区丝袜| 91天堂在线视频| 日韩av在线网页| 欧美视频在线看| 国产69精品久久久久9999| 日韩成人av一区| 久久久久久久久国产精品| 亚洲一区二区三区在线免费观看| 97色在线播放视频| 中文字幕日韩欧美精品在线观看| 久久久久这里只有精品| 91国产视频在线播放| 曰本色欧美视频在线| 中文字幕日韩欧美精品在线观看| 国产亚洲一区二区精品| 久久久免费电影| 欧美国产日产韩国视频| 亚洲国产精品国自产拍av秋霞| 欧美人与性动交a欧美精品| 精品福利一区二区| 午夜精品理论片| 色偷偷av一区二区三区| 国产91色在线| 成人精品一区二区三区电影黑人| 日韩av在线网站| 国产欧美韩国高清| 中文字幕av一区二区三区谷原希美| 国产日韩欧美夫妻视频在线观看| 亚洲成人动漫在线播放| 亚洲免费视频观看| 久久91精品国产91久久久| 亚洲xxxxx| 久久国产精品网站| 国产欧美日韩中文字幕在线| 亚洲xxxx在线| 国产精品扒开腿做爽爽爽男男| 久久精品国产精品亚洲| 2021国产精品视频| 亚洲精品久久久一区二区三区| 国产精品jizz在线观看麻豆| 亚洲精品女av网站| 国产v综合v亚洲欧美久久| 欧美成人精品三级在线观看| 国内外成人免费激情在线视频| 91麻豆国产语对白在线观看| 色琪琪综合男人的天堂aⅴ视频| 国产精品av网站| 国语自产精品视频在免费| 亚洲经典中文字幕| 日韩一二三在线视频播| 亚洲欧美激情四射在线日| 在线观看成人黄色| 精品成人国产在线观看男人呻吟| 精品久久久久久久久久国产| 91在线网站视频| 国产成人一区二区在线| 孩xxxx性bbbb欧美| 日韩欧美在线免费观看| 亚洲色图偷窥自拍| 777777777亚洲妇女| 欧美精品在线极品| 国产精品1区2区在线观看| 日韩av一区在线| 国产精品视频999| 欧美日韩国产丝袜另类| 欧美精品久久久久久久免费观看| 日韩久久免费视频| 欧美在线视频一二三| 成人精品福利视频| 欧美性色19p| 91av视频在线| 欧美成人四级hd版| 欧美第一黄网免费网站| 全亚洲最色的网站在线观看| 日韩欧美国产一区二区| 亚洲va欧美va国产综合剧情| 91av视频在线免费观看| 美日韩在线视频| 久久精品国产亚洲一区二区| 精品成人国产在线观看男人呻吟| 日韩三级成人av网| 亲子乱一区二区三区电影| 午夜精品国产精品大乳美女| 国产视频观看一区| 亚州av一区二区| 久久久久久国产精品久久| 2018中文字幕一区二区三区| 北条麻妃一区二区三区中文字幕| 欧美成人黑人xx视频免费观看| 中文字幕亚洲欧美日韩高清| 国产精品视频免费观看www| 中文字幕亚洲综合| 久久久亚洲福利精品午夜| 欧美大尺度激情区在线播放| 欧美国产日韩中文字幕在线| 国产精品久久久久久久久粉嫩av| 国产美女精彩久久| 欧美成人免费观看| 国产精品久久久久国产a级| 在线视频欧美性高潮| 国产精品扒开腿做爽爽爽男男| 亚洲精美色品网站| 91久久精品国产91性色| 欧美性视频网站| 亚洲成人网在线观看| 最新的欧美黄色| 欧美一区二三区| 欧美精品精品精品精品免费| 久久91精品国产91久久久| 亚洲国产精彩中文乱码av在线播放| 色天天综合狠狠色| 一本色道久久88综合日韩精品| 狠狠色香婷婷久久亚洲精品| 中日韩午夜理伦电影免费| 久久国产精品网站| 第一福利永久视频精品| 亚洲一级一级97网| 亚洲另类欧美自拍| 国产精品ⅴa在线观看h| 亚洲国产高潮在线观看| 日韩在线免费视频观看| 国产精品久久网| 日韩一区二区在线视频| 亚洲欧美日韩国产中文专区| 久久亚洲影音av资源网| 91精品国产高清自在线看超| 欧美丰满老妇厨房牲生活| 中文字幕精品久久久久| 中文字幕在线观看日韩| 久久久久久成人| 国产精品自拍偷拍视频| 国产一区二区三区在线看| 国产成人精品一区二区三区| 欧美亚洲国产视频| 欧美日韩国产va另类| 久久久国产精品x99av| 中文字幕精品影院| 黄色91在线观看| 久久亚洲私人国产精品va| 久久99国产综合精品女同| 亚洲影视中文字幕| 亚洲人线精品午夜| 欧美成人小视频| 国产精品美女免费| wwwwwwww亚洲| 亚洲午夜精品久久久久久久久久久久| 日本久久久久久久久久久| 欧美精品在线看| 国产+成+人+亚洲欧洲| 亚洲精品成人av| 成人福利网站在线观看11| 欧美大片在线免费观看| 亚洲成人免费在线视频| 久久视频免费在线播放|