对不起,如果标题不清楚,这就是我想要做的:
我有多个注册表单,每个注册表单都有一个密码字段。现在,我想对密码设置一些要求,即。我想得到一个长于 5 的密码。
我有:
<form name="myForm">
<!-- some elements -->
<input type="password" required ng-model="user.password" name="password" ng-minlength="5">
在那之后:
<div ng-show="myForm.password.$error.minlength">
Password is too short.
</div>
<!-- some other elements -->
</form>
我以为我会将此错误消息重构为指令,唯一的问题是我似乎无法正确地将表单的名称传递给指令。
该指令如下所示:
myApp.directive('passwordLengthError', [function () {
return {
restrict: 'E',
replace: true,
template:'<div ng-show="{{form}}.password.$error.minlength">Password is too short.</div>',
scope: {
form: '@'
}
};
}]);
我这样称呼它:
<div>
<password-length-error form="myForm"/>
</div>
如果我检查 Chrome 的网络检查器,我看到参数在那里,我看到
<div ng-show="myForm.password.$error.minlength">
但是,它实际上不起作用,如果密码短于 5 个字符,我看不到消息弹出。
有没有办法使这项工作,或者这是不可能的?提前致谢。