栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > Web开发 > JavaScript

angular 基于ng-messages的表单验证实例

JavaScript 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

angular 基于ng-messages的表单验证实例

最近在学习angular,那么今天也算个学习笔记吧!

html

 
  
  
    
  
  
  

ng-messages="myForm.myName.$error" 给出错误类型(required, char, exist, minlength)

error.html

必填
非法字符
名称已存在
太短了

directive name-check 利用ngModel 的$validators,& $asyncValidators 添加自定义验证

app.directive('nameCheck', nameCheck);

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

function nameCheck(HttpService, $q){

  var NAME_REG = /^[a-zA-Zu4e00-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;
      }
    }
  }
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持考高分网。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/87943.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号