javascript - 不会触发 AngularJS 的自定义验证

标签 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/>

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

最佳答案

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

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

请参阅文档中的规范化章节 https://docs.angularjs.org/guide/directive

关于javascript - 不会触发 AngularJS 的自定义验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31368991/

相关文章:

javascript - json-server - 奇怪的自动增量 ID

javascript - AngularJS - 在一个 $watch 中调用多个函数

javascript - jquery 验证和表单提交

Android - Surface 无效

javascript - 如何在 JavaScript 中清空(重置)输入类型电子邮件后用空格填充(in.value =""不起作用)

javascript - 针对 null 进行多少次检查是合适的?

javascript - 我怎样才能在输入中调用按键事件

javascript - 从html发送udp数据包到本地网络

angularjs - 如何在 Zeppelin 的 javascript 中将变量放入 z ZeppelinContext 中?

javascript - 定义 AngularJS 工厂和 Controller 可访问的全局函数和属性