Angular.js:ng-repeat内部下拉列表的必需验证

时间:2019-05-06 14:20:09

标签: javascript angularjs

使用angualrjs 1.3

我的ng-repeat中有一个下拉列表:

  <tr ng-repeat="c in myData">
    <td>
        <select name="type" class="form-control" ng-model="c.type" required>
             <option value="">--Select--</option>
             <option ng-repeat="type in types">{{type.text}}</option>
         </select>  
    </td>
  </tr>

如何进行上述下拉列表的必填字段验证。

我的ng-repeat中还有其他文本框控件,如下所示:

<td ng-class="{ 'has-error': myForm['comment_' + {{$index}}].$invalid && (myForm['comment__' + {{$index}}].$touched || myForm.$submitted) }">
        <input type="text" name="comment_{{$index}}" required ng-model="c.comment" class="form-control" />
    </td>

并且验证有效,但是当我尝试将其应用于下拉列表时,验证无效。

是否有输入?

1 个答案:

答案 0 :(得分:1)

Angularjs是一个大型且智能的库,您可以在上面做所有事情,在示例中,您可以使用ng-formng-optionsng-required代替常见的html代码并通过{{ 1}}作为示例。

  

使用$index,您可以将每个ng-form定义为表单,然后可以检查表单验证。

tr
var app = angular.module("app", []);

app.controller("ctrl", function($scope) {
    $scope.myData = [
      {},{}
    ]
    
    $scope.types = [1,2,3]
});
.has-error {
  color: red;
}