基本的に空の入力を表示してオブジェクトの配列を埋めるディレクティブを作成しました。オブジェクトには複数のプロパティがありますが、ここでは projectname プロパティのみを埋めています。
<div ng-repeat="projectStatus in projectStatusList track by $index">
<md-input-container>
<label>Project Name {{$index +1}}</label>
<input ng-model="projectStatusList[$index].projectName" name="projectName_{{$index+1}}" ng-required="isRowRequired($index)">
<div ng-messages="parentForm['projectName_{{$index+1}}'].$error">
<div ng-message="required">The project name is required</div>
</div>
</md-input-container>
</div>
このディレクティブは、parentForm として渡されるフォーム内で呼び出されています。私はすでにチェックしており、フォームはディレクティブに正しく渡されています。私の疑いは、バインドがng-messages="parentForm['projectName_{{$index+1}}'].$error"
正しく行われていないことです。生成された HTML を検査するたびに、ng メッセージ div 内に何も表示されません。
また、フィールドの必須プロパティは動的に設定されisRowRequired($index)
、これは正しくレンダリングされています。問題は、入力が空で必要な場合に赤い境界線で下線が引かれますが、メッセージが表示されないことです。