6

次のように ng-repeat を使用してネストされたフォームを構築したいと考えています。私の入力フィールドは必須なので、次の行に次のようなエラー メッセージを追加したい: <span ng-show="submitted && editableForm.[e.name].$error.required" class="error">Required field</span>, I know this is wrong "editableForm.[e.name].$error.required".これを行う?

更新 を追加しようとしまし<ng-form name="rowForm">たが、これはハードコード名属性を使用する場合にのみ機能します。私の場合、これは [e.name] で動的に生成されます

ありがとうレオ

ネストされたフォーム

<form name="editableForm" novalidate="novalidate"><div class="newEditable">
  <ul ng-repeat="row in newRows">
    <li ng-repeat="e in rowAttrs">
     <input type="text" ng-model="newRows[e.name]" name="e.name" ng-required="e.required">
    </li>
    <li><a href="" ng-click="rm_row($index)">x</li>
  </ul>
  </div><a href="" ng-click="newRow()">{{add}}</a>
  <a ng-show="newRows.length > 0" ng-click="saveIt(editableForm)">{{save}}</a>
</form>
4

2 に答える 2

10

この特定のコード例ではng-form、最初の に属性も追加する必要がありng-repeatます。

<ul ng-repeat="row in newRows" ng-form="innerForm">

元のソリューションで同様のことを実行して、必要なフィールドを強調表示できるようになりました。

<div class="validation_error" ng-show="e.required && innerForm['\{\{e.name\}\}'].$error.required">
    Required
</div>
于 2013-10-04T10:03:05.340 に答える
4

動的な名前jsfiddle.net/langdonx/6H8Xx/2にエスケープを追加することで解決

コード

<div class="validation_error" ng-show="e.required && rowForm['\{\{e.name\}\}'].$error.required">
  Required
</div>
于 2013-07-26T05:15:08.537 に答える