angularjs – 以ng-minlength为单位的动态值
发布时间:2020-12-17 07:26:43 所属栏目:安全 来源:网络整理
导读:我有一个名为Config的常量,它包含一个task.minlength = 3属性. 我在$rootScope中追加常量: .run(function($rootScope,Config) { $rootScope.Config = Config;}) 在模板中,我想将Config.task.minlength值设置为输入的ng-minlength指令: input type="text" n
我有一个名为Config的常量,它包含一个task.minlength = 3属性.
我在$rootScope中追加常量: .run(function($rootScope,Config) { $rootScope.Config = Config; }) 在模板中,我想将Config.task.minlength值设置为输入的ng-minlength指令: <input type="text" ng-model="newTask" placeholder="Write a new task..." required ng-minlength="{{ Config.task.minlength }}"> 哪个根据DevTools正确解析: 但是,验证不会被触发: $scope.form.$error['minlength'] // undefined 当我只写3而不是插入Config.task.minlength时,它工作正常. ng-minlength的值是否必须硬编码?有没有解决方法? ngModelController 不以任何方式0700或
$eval的值为
ngMinlength ,因此它只获取静态整数值.
我创建了自己的指令,使用$observe, app.directive('myMinlength',function(){ return { require: 'ngModel',link: function(scope,elm,attr,ngModel){ var minlength = 0; var minLengthValidator = function(value){ var validity = ngModel.$isEmpty(value) || value.length >= minlength; ngModel.$setValidity('minlength',validity); return validity ? value : undefined; }; attr.$observe('myMinlength',function(val){ minlength = parseInt(val,10); minLengthValidator(ngModel.$viewValue); }); ngModel.$parsers.push(minLengthValidator); ngModel.$formatters.push(minLengthValidator); } }; }); 像这样使用它: <input type="text" name="something" my-minlength="{{config.min}}" ng-model="something"> (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |