我在 angularjs 中编写了一个 Web 应用程序,并使用angular 材料(不确定这是否与问题相关)和ngMessages为用户提供无效输入的反馈。
通常,对于提供的指令的验证,我可以以类似于以下方式进行验证:
<md-input-container>
<input required name="myInput" ng-model="someModel">
<div ng-messages="formName.myInput.$error">
<div ng-message="required">This field is required.</div>
</div>
</md-input-container>
但是如果我创建了自己的自定义指令......
moduleName.directive('ngCustomdir', function(){
return {
restrict: 'A',
require: 'ngModel',
link: function($scope, $element, $attrs, ngModel){
//do some validation
return validation; //<--true or false based on validation
}
};
}
并将其包含在我的输入中...
<input required ng-customdir name="myInput" ng-model="someModel">
我知道它会验证输入,因为如果根据我的自定义指令的验证输入无效,则该字段将变为红色并且 $invalid 值设置为 true,但我不知道如何根据何时使用 ngMessages 显示消息有时候是这样的。
<div ng-messages="formName.myInput.$error">
<div ng-message="required">This field is required.</div>
<div ng-message="customdir">This is what I need to appear.</div>
</div>
当我的自定义指令验证无效时,我似乎无法收到消息。我该怎么做呢?我在这里先向您的帮助表示感谢。