Ng模型& Ng模型选项问题

时间:2015-02-18 21:26:47

标签: angularjs angularjs-directive angular-ngmodel

我尝试在输入中使用ng-modelng-model-optionsNg-model用于确保用户只能使用以下指令将数字输入到输入中:

angular.module('officeNetApp').directive('onlyNumbers', function() {
    return {
     require: 'ngModel',
     link: function(scope, element, attrs, modelCtrl) {
      console.log('TEST');
       modelCtrl.$parsers.push(function (inputValue) {
           if (inputValue === undefined) {
            return '';
           }
           var transformedInput = inputValue.replace(/[^0-9]/g, ''); 
            if (transformedInput!==inputValue) {
              modelCtrl.$setViewValue(transformedInput);
              modelCtrl.$render();
           }     
           return transformedInput;         
       });
     }
   };
  });

ng-model-options用于更新模糊输入。我这样做是为了在模糊时触发验证,如下所示:

<input type="text" id="forwardedFrom" name="forwardedFrom" ng-model="numbers" class="vfnz-input--text" placeholder="Forwarded from" ng-model-options="{ updateOn: 'blur' }" only-numbers="only-numbers" required />

出于某种原因,当我删除ng-model-options时,指令功能可以使用户只能输入数字。我不能同时拥有它们,因为我需要两者来启用所需的功能。

不确定为什么我不能同时使用/不确定另一种方法来实现我所追求的目标。

JSFIDDLE

0 个答案:

没有答案