Chcę zbudować zagnieżdżone formularz za pomocą ng-powtórzenie jak poniżej. Ponieważ moje pola wejściowe są wymagane, chcę dodać komunikat o błędzie w następnej linii z czymś takim: <span ng-show="submitted && editableForm.[e.name].$error.required" class="error">Required field</span>
, Wiem, że to źle "editableForm. [E.name]. $ Error.required", co jest poprawne sposób to zrobić?Angularjs zagnieżdżanie formularza sprawdzanie poprawności ng powtórzyć
UPDATE prostu próbowałem dodając <ng-form name="rowForm">
, ale to działa tylko gdy używam atrybut name hardcode, w moim przypadku jest to dynamicznie generowane w [e.name]
Dzięki Leo
NESTED FORMULARZ
<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>
Korzystałem z rozwiązania opisanego w mojej odpowiedzi, aby dynamicznie renderować pola formularza w formularzu zawierającym i upewnić się, że ich stan sprawdzania poprawności jest propagowany do formularza zawierającego, tj. Użytkownik nie powinien mieć możliwości kliknięcia przycisku Wyślij, jeśli wymagane jest dynamicznie renderowane pole formularza i nie ma poprawnej wartości. –