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>
カスタム ディレクティブの検証が無効な場合、メッセージが表示されないようです。どうすればいいですか?事前に助けてくれてありがとう。