AngularJS内部表单验证

时间:2015-10-13 02:10:23

标签: angularjs validation ng-repeat

我有一个ng-repeat来迭代表单字段。

问题是,如果我的表格无效,我就不会得到任何反馈。我没有看到范围,也没有看到has-error被应用于div。

我必须遗漏一些简单的东西,有人能看到它是什么吗?

这里是ng-repeat代码:

<div ng-repeat="i in items">
    <ng-form novalidate class="user-form" name="userForm">
        <div class="form-group has-feedback" ng-class="{'has-error':userForm.userInput.$invalid}">
            <label class="control-label">{[{ i.item }]}</label>
            <input-field item="i"></input-field>
            <span ng-show="userForm.userInput.$invalid">TEST</span>
        </div>
    </ng-form>
</div>

生成如下条目:

    <div ng-repeat="i in items">
        <ng-form novalidate="" class="user-form" name="userForm">
            <div class="form-group has-feedback" ng-class="{'has-error':userForm.userInput.$invalid}">
                <label class="control-label">Username</label>
                <input name="userInput" class="form-control" type="text" ng-model="item.answer" placeholder="Username" required>
                <span ng-show="userForm.userInput.$invalid" class="ng-hide">TEST</span>
            </div>
        </ng-form>
    </div>

1 个答案:

答案 0 :(得分:0)

您想要创建多个“userForm”吗? 如果没有,您可以将其更改为

  <ng-form novalidate class="user-form" name="userForm"> <div ng-repeat="i in items">
    <div class="form-group has-feedback" ng-class="{'has-error':userForm.userInput.$invalid}">
        <label class="control-label">{[{ i.item }]}</label>
        <input-field item="i"></input-field>
        <span ng-show="userForm.userInput.$invalid">TEST</span>
    </div> </div>
</ng-form>

希望它有所帮助。