下拉列表的“必需”验证

时间:2013-03-20 10:33:10

标签: angularjs angularjs-directive

我必须使用AngularJS中的required验证来验证下拉列表。我已创建了验证指令,但未在select标签上加载指令。如何在下拉列表中加载指令?或者,如何验证下拉列表?

1 个答案:

答案 0 :(得分:2)

您可以在表单的“提交”按钮上添加验证方法,以检查下拉列表的值。

示例:http://plnkr.co/edit/PbePIh

app.js:

var app = angular.module('plunker', []);

app.controller('MainCtrl', function($scope) {
  $scope.colors = [{name: 'blue'}, {name:'red'}, {name:'yellow'}];

  $scope.reqColor = function() {
    if ($scope.color && $scope.color.name && $scope.color.name != 'blue') return false;
    return true;
  }
});

index.html:

<body ng-controller="MainCtrl">
 <form name="form">
  <select ng-model="color" ng-options="c.name for c in colors"></select><br>
  <button ng-disabled="form.$invalid || reqColor()">Save</button>
 </form>
</body>

在此示例中,如果您未在下拉列表中选择任何内容或选择了蓝色,则将禁用保存按钮。