Angularjs ngMessages ng-messages = {multiple。$ error}?

时间:2015-06-08 08:11:36

标签: angularjs ng-messages

我是angularjs的新手,我只是想知道什么是ngMessage' ng-messages'属性可以做。

我试图为多个输入[type = text]元素显示一个ngMessage。例如:

<input type="text" id="name1" ng-model="person.name1" />
<input type="text" id="name2" ng-model="person.name2" />
<input type="text" id="name3" ng-model="person.name3" />
<input type="text" id="name4" ng-model="person.name4" />

<div id="error" 
ng-messages="person.name1.$error || 
             person.name2.$error || 
             person.name3.$error || 
             person.name4.$error"

ng-show="person.name1.$touched || 
         person.name2.$touched || 
         person.name3.$touched || 
         person.name4.$touched"
ng-include="errorMsg.html"
/>

将显示所有4个输入[type = text]属性的一条验证消息。

2 个答案:

答案 0 :(得分:1)

尝试以下列方式使用它: -

<form name="Form_Name">
  <label>
    Enter your name:
    <input type="text"
           name="myName"
           ng-model="name"
           ng-minlength="5"
           ng-maxlength="20"
           required />
  </label>
  <pre>myForm.myName.$error = {{ myForm.myName.$error | json }}</pre>

  <div ng-messages="myForm.myName.$error" style="color:maroon" role="alert">
    <div ng-message="required">You did not enter a field</div>
    <div ng-message="minlength">Your field is too short</div>
    <div ng-message="maxlength">Your field is too long</div>
  </div>
</form>

答案 1 :(得分:1)

到目前为止,我遇到的最佳解决方案是使用data-ng-form='subform' name='subform'对所需的字段进行分组,然后为messages元素分组:data-ng-messages='subform.$error'