如果ngOptions数组为空,则显示ngMessage

时间:2015-05-19 13:50:06

标签: html angularjs

使用ngMessages初始化select元素的选项时,是否可以使用ngOptions来显示错误? 对于前者在

<select name="fruitNames" ng-model="fruitName" ng-options="fruit.name for fruit in fruits"></select>

如果fruits为空,我想显示错误消息。

1 个答案:

答案 0 :(得分:5)

您可以将任何表达式作为kvp提供给ng-messages,例如我将布尔值设置为hasFruits并使用键hasFruits

<div ng-messages="{noFruits:!fruits.length}" >
    <div ng-message="noFruits">Sorry, No fruits available!!</div>
  </div>

angular.module('app', ['ngMessages']).controller('ctrl', function($scope) {
  $scope.fruits = [];
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.15/angular.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.15/angular-messages.js"></script>
<div ng-app="app" ng-controller="ctrl">
  <div ng-messages="{hasFruits:!fruits.length}">
    <div ng-message="hasFruits">No fruits available!!</div>
  </div>
</div>

这看起来有点奇怪,因为你真的没有多个条件(与使用带有$ error对象的ngMessages的方式不同),你也可以显示和隐藏div。