我正在尝试使用Angular进行表单验证。我可以按如下方式验证输入元素,
<tr ng-repeat="answer in answers track by $index" ng-form="subQuestionForm">
<td>
<div>
<div ng-class="{ 'has-error' :((subQuestionForm.ansText.$invalid && isSubmitted) || ((subQuestionForm.ansText.$invalid && subQuestionForm.ansText.$dirty))}">
<input name="ansText" id="ansText" type='text' ng-model="answer.ansText" class="form-control" required />
<div class="error,help-block col-md-offset-4" ng-show="((subQuestionForm.lhsText.$dirty || isSubmitted) && ( subQuestionForm.lhsText.$invalid))">
<h6 class="help-block" ng-if="subQuestionForm.lhsText.$error.required">Enter answer</h6>
</div>
</div>
</div>
</td>
</tr>
这将验证表单,以便用户必须输入所有答案(即输入所有创建的文本框),但我希望用户输入2或更多。如果只输入一个答案,则错误消息将显示,否则表单有效。 我尝试通过为每个索引获取但失败了。 任何人都可以发光。
答案 0 :(得分:0)
你可以这样做:
<tr ng-repeat="answer in answers track by $index" ng-form="subQuestionForm">
<td>
<div>
<input name="ansText" id="ansText" type='text' ng-model="answer.ansText" class="form-control" ng-required="$index == 0 || $index == 1 " />
</div>
</td>
</tr>