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

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

 更新時間:2017年05月04日 10:18:09   作者:cfang  
本篇文章主要介紹了angular 基于ng-messages的表單驗證實例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

最近在學(xué)習(xí)angular,那么今天也算個學(xué)習(xí)筆記吧!

html

 <div class="form-group" ng-class="{'has-error': myForm.myName.$touched && myForm.myName.$invalid}">
  <label class="col-xs-2 control-label">name</label>
  <div class="col-xs-6">
    <input type="text" class="form-control" name="myName" ng-model="formData.username"
        placeholder="2-10個中英文字符,aaa會重名,必填"
        name-check minlength="2" maxlength="10" required>
  </div>
  <div class="col-xs-4 form-control-static text-danger" ng-messages="myForm.myName.$error"
           ng-messages-include="demos/form/error.html" ng-show="myForm.myName.$touched">
  </div>
</div>

ng-messages="myForm.myName.$error" 給出錯誤類型(required, char, exist, minlength)

error.html

<span ng-message="required">必填</span>
<span ng-message="char">非法字符</span>
<span ng-message="exist">名稱已存在</span>
<span ng-message="minlength">太短了</span>

directive name-check 利用ngModel 的$validators,& $asyncValidators 添加自定義驗證

app.directive('nameCheck', nameCheck);

nameCheck.$inject = ['HttpService', '$q'];

function nameCheck(HttpService, $q){

  var NAME_REG = /^[a-zA-Z\u4e00-\u9fa5]+$/;

  return {
    restrict: 'A',
    require: 'ngModel',
    link:function($scope,element,attrs,ctrl){

      ctrl.$validators.char = function(modelValue, viewValue) {
        var value = modelValue || viewValue;
        if(!NAME_REG.test(value)){
          return false;
        }
        return true;
      };
      ctrl.$asyncValidators.exist = function(modelValue, viewValue){
        var value = modelValue || viewValue;
        var deferred = $q.defer();
        HttpService.get('api/users/' + value).then(function(res) {
          if(res.isExist){
            deferred.reject(false);

          }
          deferred.resolve(true);
        })

        return deferred.promise;
      }
    }
  }
}

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • angular實現(xiàn)導(dǎo)航菜單切換

    angular實現(xiàn)導(dǎo)航菜單切換

    這篇文章主要為大家詳細(xì)介紹了angular實現(xiàn)導(dǎo)航菜單切換,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • AngularJS基礎(chǔ) ng-readonly 指令簡單示例

    AngularJS基礎(chǔ) ng-readonly 指令簡單示例

    本文主要介紹AngularJS ng-readonly 指令,這里對ng-readonly指令的資料做了整理,有學(xué)習(xí)AngularJS 指令的同學(xué)可以參考下
    2016-08-08
  • Angular使用操作事件指令ng-click傳多個參數(shù)示例

    Angular使用操作事件指令ng-click傳多個參數(shù)示例

    這篇文章主要介紹了Angular使用操作事件指令ng-click傳多個參數(shù),結(jié)合實例形式分析了AngularJS事件指令及相關(guān)的響應(yīng)、處理操作技巧,需要的朋友可以參考下
    2018-03-03
  • AngularJS表單詳解及示例代碼

    AngularJS表單詳解及示例代碼

    本文主要介紹AngularJS表單的知識,這里整理了表單的基礎(chǔ)知識和簡單的示例代碼,有需要的小伙伴可以參考下
    2016-08-08
  • AngularJS通過$http和服務(wù)器通信詳解

    AngularJS通過$http和服務(wù)器通信詳解

    相信大家都知道AngularJS是一個前端框架,實現(xiàn)了可交互式的頁面,但是對于一個web應(yīng)用,頁面上進(jìn)行展示的數(shù)據(jù)從哪里來,肯定需要服務(wù)端進(jìn)行支持,那么AngularJS是如何同服務(wù)端進(jìn)行交互的呢?通過這篇文章大家一起來看看吧。
    2016-09-09
  • AngularJS 應(yīng)用模塊化的使用

    AngularJS 應(yīng)用模塊化的使用

    這篇文章主要介紹了AngularJS 應(yīng)用模塊化的使用,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-04-04
  • 詳解AngularJS中的表格使用

    詳解AngularJS中的表格使用

    這篇文章主要介紹了詳解AngularJS中的表格使用,作為熱門的JavaScript框架,AngularJS中提供的表格功能十分強(qiáng)大,需要的朋友可以參考下
    2015-06-06
  • 詳解AngularJS過濾器的使用

    詳解AngularJS過濾器的使用

    這篇文章主要為大家詳細(xì)介紹了AngularJS過濾器的使用方法,感興趣的小伙伴們可以參考一下
    2016-03-03
  • AngularJS入門教程之多視圖切換用法示例

    AngularJS入門教程之多視圖切換用法示例

    這篇文章主要介紹了AngularJS多視圖切換用法,結(jié)合實例形式分析了AngularJS基于多視圖切換實現(xiàn)碎片文件動態(tài)載入的相關(guān)操作技巧,需要的朋友可以參考下
    2016-11-11
  • AngularJs1.x自定義指令獨(dú)立作用域的函數(shù)傳入?yún)?shù)方法

    AngularJs1.x自定義指令獨(dú)立作用域的函數(shù)傳入?yún)?shù)方法

    今天小編就為大家分享一篇AngularJs1.x自定義指令獨(dú)立作用域的函數(shù)傳入?yún)?shù)方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-10-10

最新評論