angularjs – ng-maxlength拧紧我的模型
发布时间:2020-12-17 08:43:14 所属栏目:安全 来源:网络整理
导读:我试图做一个简单的textarea与“这么多的字符剩余”以及验证。 当我使用ng-maxlength验证我的表单时,它会在长度达到最大长度后立即重置我的charcount。这是 plunkr任何解决方法? body ng-controller="MainCtrl" div ng-form="noteForm" textarea ng-maxlen
我试图做一个简单的textarea与“这么多的字符剩余”以及验证。
当我使用ng-maxlength验证我的表单时,它会在长度达到最大长度后立即重置我的charcount。这是 plunkr任何解决方法? <body ng-controller="MainCtrl"> <div ng-form="noteForm"> <textarea ng-maxlength="15" ng-model="result"></textarea> <p>{{15 - result.length}} chars remaining</p> <button ng-disabled="!noteForm.$valid">Submit</button> </div> </body>
当你的textarea超过15个字符,结果变成未定义 – 这就是ng-min / maxlength指令的工作原理。我想你必须编写自己的指令。这里是一个指令,将在15个字符后阻止输入:
<textarea my-maxlength="15" ng-model="result"></textarea> app.directive('myMaxlength',function() { return { require: 'ngModel',link: function (scope,element,attrs,ngModelCtrl) { var maxlength = Number(attrs.myMaxlength); function fromUser(text) { if (text.length > maxlength) { var transformedInput = text.substring(0,maxlength); ngModelCtrl.$setViewValue(transformedInput); ngModelCtrl.$render(); return transformedInput; } return text; } ngModelCtrl.$parsers.push(fromUser); } }; }); fiddle 更新:允许超过15个字符,但是当计数超过15时禁用提交按钮: link: function (scope,ngModelCtrl) { var maxlength = Number(attrs.myMaxlength); function fromUser(text) { ngModelCtrl.$setValidity('unique',text.length <= maxlength); return text; } ngModelCtrl.$parsers.push(fromUser); } fiddle (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 与AngularJS相比,使用Polymer创建自定义HTML5元素/小部件有
- WebService的开发之一
- angular 饼形图点击事件重复加载解决方案
- angularjs – Angular 1.5 $onInit not firing – typescri
- 从scala的Type中获取ParameterizedType?
- 如何让 Vim 成为我们的神器?
- 一键生成APK包,适用于cocos2dx+lua的项目
- [Angular] Improve Server Communication in Ngrx Effects
- Scala – 外部进程退出时获取回调
- Qt 之 QtSoap(访问WebService)