这篇文章给大家分享的是有关angular如何实现基于ng-messages的表单验证的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。
舒兰网站制作公司哪家好,找成都创新互联公司!从网页设计、网站建设、微信开发、APP开发、响应式网站开发等网站项目制作,到程序开发,运营维护。成都创新互联公司2013年至今到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选成都创新互联公司。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; } } } }
感谢各位的阅读!关于“angular如何实现基于ng-messages的表单验证”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!
另外有需要云服务器可以了解下创新互联建站www.cdcxhl.com,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
本文名称:angular如何实现基于ng-messages的表单验证-创新互联
网址分享:https://www.cdcxhl.com/article8/deeoop.html
成都网站建设公司_创新互联,为您提供品牌网站制作、静态网站、网站建设、建站公司、定制开发、微信公众号
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联