角。如何在输入验证期间更改模型值?

时间:2014-02-18 05:41:48

标签: javascript angularjs angularjs-directive

请告诉我如何为input-field

描述指令'myValidation'
<input my-validation ng-model="myValue">

使其表现如下:

  1. 如果用户输入'A'指令必须将myValue更改为'B'(在输入字段中显示)
  2. 否则只保留原始值

1 个答案:

答案 0 :(得分:1)

您可以在myValue上创建一个监视,并在更改值时执行验证...

angular.module('App', [])
    .directive('myValidation', function () {
    return {
        restrict: 'A',
        require: "ngModel",
        link: function (scope, element, attrs, ngModel) {
            scope.$watch(function () {
                return ngModel.$modelValue;
            }, function (newVal, oldVal) {
                if (newVal === 'A') {
                    scope.myValue = 'B';
                }
            });
        }
    };
});

小提琴:http://jsfiddle.net/fMTVm/1/