我正在尋找一些指導。ng-repeat表單項目的AngularJS驗證
下面是一些代碼,我有:
<div ng-repeat="q in questions">
<div class="panel panel-info">
<div class="panel-heading">
<h3 class="panel-title"><span ng-bind="q.questionText"></span></h3>
</div>
<div class="panel-body">
<answer-field question="q"></answer-field>
</div>
</div>
</div>
answer-field
是一個指令,而且基本上取決於什麼q
是某種類型的表單域將顯示像select
箱或input text
箱等。
例如,選擇框可能是:
<div class='form-group'>
<select class='form-control' ng-model='question.answer' ng-options='item for item in question.choices' required>
<option value=''>Select an option...</option>
</select>
</div>
且文本字段可能是:
<div class='form-group'>
<input class='form-control' type='text' ng-model='question.answer' required />
</div>
正如你所看到的,我已經加入required
,這是否在技術上的工作。瀏覽器會顯示錯誤,說如果我嘗試提交,我需要填寫該字段。
我想雖然是更美觀一點。 Bootstrap例如有has-error
。如果我可以使form-group
顯示has-error
,而不是默認瀏覽器「填寫此字段」消息,並且理想情況下顯示確實有錯誤的項目列表,則會很好。
我該怎麼辦?
第一
div
如果我理解正確,' ng-invalid'將應用於無效的表單域?如果這是正確的,我怎麼能在form-group上顯示'has-error'? – b85411