使用ng-messages显示不同表单字段的多条消息

时间:2015-04-03 04:29:29

标签: angularjs validation ng-messages

是否可以使用角度为1.3的ng-messages并在顶部显示验证摘要以及不同字段的错误消息?

<div ng-messages="myForm.$error">
    <div ng-message="required">Need to show required error for field 1.</div>
    <div ng-message="required">Need to show required error for field 2.</div>
</div>

我怎样才能做到这一点? 到目前为止,我看到的所有示例都显示了单个字段的错误消息,而不是表单中的所有字段。

我是否需要为每个字段添加多个ng-messages部分?

3 个答案:

答案 0 :(得分:6)

我想将整个汇总块设置为一个样式。所以我最终做到了这一点。

<div class="error-summary" ng-show="myForm.$submitted && myForm.$invalid">
    <p ng-show="myForm.field1.$error.required">Field 1 is required.</p>
    <p ng-show="myForm.field2.$error.required">Field 2 is required.</p>
</div>

我希望使用ng-messages做类似的事情。

答案 1 :(得分:3)

这个怎么样?

<div ng-messages="myForm.field1.$error">
    <div ng-message="required">Need to show required error for field 1</div>
</div>
<div ng-messages="myForm.field2.$error">
    <div ng-message="required">Need to show required error for field 2</div>
</div>
<div ng-messages="myForm.field3.$error">
    <div ng-message="required">Need to show required error for field 3</div>
</div>

答案 2 :(得分:1)

是的,你应该有多个ng-messages。请看下面的链接。

http://plnkr.co/edit/QgNkXKosgcArGZW7WuZO?p=preview

<form name="myForm">
  <label>Enter your name:</label>
  <br>
  <input type="text" name="myName1" ng-model="name1" required />
  <br>
  <input type="text" name="myName2" ng-model="name2" required />

  <div ng-messages="myForm.myName1.$error">
    <div ng-message="required">enter name 1</div>
  </div>
  <div ng-messages="myForm.myName2.$error">
    <div ng-message="required">enter name 2</div>
  </div>
</form>