不会触发AngularJS的自定义验证

时间:2015-07-12 14:42:07

标签: javascript angularjs validation

我是AngularJS的初学者,现在我正在尝试创建注册表单。 我试图按照我在互联网上找到的说明进行操作,但看起来我无法触发我的验证。我不确定是什么问题。

这是我的JS验证:

var login = angular.module('login', []);

login.directive('repeatedValue', function () {
    return {
        require: 'ngModel',
        link: function (scope, elm, attrs, ctrl) {
            ctrl.$validators.repeatedValue = function (modelValue, viewValue) {
                alert("validation");
                return false;
            };
        }
    };
});

,输入字段如下所示:

<input type="password" class="form-control" id="password2"
                               placeholder="Repeat password" value="" tabindex="3"  ng-model="login.registerPassword2" repeatedValue/>

仍然,出于某种原因,即使我开始在字段中输入,也不会触发验证,因此我仍然可以提交表单。

1 个答案:

答案 0 :(得分:1)

您必须在模板中使用正确的指令名称(短划线)

 <input type="password" ... repeated-value/>

请参阅文档https://docs.angularjs.org/guide/directive

中的规范化章节