Angular - Can ng-messages有一个或声明吗?

时间:2016-02-28 19:49:46

标签: angularjs

我有2个输入字段,如果其中任何一个为空,我想要显示一条错误消息。我正在尝试使用||,但它不起作用 - 这是否允许在“ng-messages”中使用?

代码:

<div ng-messages="postForm.o1.$error || postForm.o2.$error"
   ng-if="postForm.o1.$touched || postForm.o2.$touched">
   <span ng-message="required">at least 2 are required</span>
</div>

输入本身;

<input name="o1" ng-model="main.o1ToAdd" type="text"
          placeholder="Yes" required/>

<input name="o2" ng-model="main.o2ToAdd" type="text"
          placeholder="Yes" required/>

2 个答案:

答案 0 :(得分:1)

你不能使用||在<br>。 ng-messages的值应该是一个对象,每个键代表一个布尔值。

ng-messages

作为评估多个条件的解决方法,您可以使用此

{
  required: false,
  minlength: true,
  customErrorCondition: false
}

修改:已添加plnkr

答案 1 :(得分:1)

简单的解决方案:

<p ng-show="postForm.o1.$error.required || postForm.o2.$error.required">
    at least 2 are required
</p>