ngMessages を使用して動的に生成されたフォームを検証しています。これは ngRepeat.ngMessages を使用して正常に動作していますが、検証エラー メッセージを表示したいのは、送信ボタンがクリックされたときだけです。送信ボタンがクリックされ、現在のフォーム フィールドを確認するために ng-if を使用しています無効 。しかし、角度コンパイラエラーが発生しています。これは、コントロール名を動的に構築することに関係していると思います。
次のマークアップのどこが悪いのか、誰でも提案できますか。
<div ng-repeat="item in Data" class="container-fluid">
<ng-form name="fm">
<div class="row">
<div class="col-md-10">
<h2>{{ item.headerName}}</h2>
</div>
</div>
<div class="row" ng-repeat="it in item.items">
<div class="col-md-8">
<div class="form-group">
<label for="''{{ it.name}}''" class="col-xs-4 control-label"> {{ it.name}}</label>
<div class="col-xs-2">
<select name='{{"yOrNo" + $parent.$index + $index}}'
id='{{"yOrNo" + $parent.$index + $index}}'
class="form-control"
data-ng-disabled="false"
ng-model="it.yesorNo"
ng-options="yno.id as yno.value for yno in lookups.yno"
ng-required="true"></select>
<div class="messages" ng-messages="fm.yOrNo{{$parent.$index}}{{$index}}.$error" ng-if="fm.yOrNo{{$parent.$index}}{{$index}}.$error && submitClicked" >
<div class="error-message" ng-message="required">* required.</div>
</div>
</div>
</div>
</div>
</div>
</ng-form>
</div>