繁体   English   中英

表单验证-验证由ng-repeat动态创建的输入

[英]form validation- validate inputs dynamically created by ng-repeat

我正在尝试使用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或更多。 如果仅输入一个答案,则错误消息将显示,否则该表格有效。 我尝试通过为每个索引获取索引来执行此操作,但是失败了。 任何人都可以发光。

你可以这样做:

<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>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM