I'm new to angularjs and I was just wondering about what ngMessage 'ng-messages' attribute can do.
I'm trying to display one ngMessage for multiple input[type=text] elements. for example:
<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"
/>
One validation message will display for all 4 input[type=text] attribute.
Try To use it it in the below manner:-
<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>
到目前为止,我遇到的最佳解决方案是使用data-ng-form='subform' name='subform'
对所需的字段进行分组,然后对messages元素进行分组: data-ng-messages='subform.$error'
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.