ng-maxlength固定我的模型

ng-maxlength固定我的模型,第1张

ng-maxlength固定我的模型

当您的textarea超过15个字符时,

result
变为
undefined
-这就是
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](http://jsfiddle.net/bZGcg/)


更新: 允许超过15个字符,但是当计数超过15个时禁用提交按钮:

link: function (scope, element, attrs, ngModelCtrl) {  var maxlength = Number(attrs.myMaxlength);  function fromUser(text) {      ngModelCtrl.$setValidity('unique', text.length <= maxlength);      return text;  }  ngModelCtrl.$parsers.push(fromUser);}

[fiddle](http://jsfiddle.net/bZGcg/1/)



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5642109.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存