2012-09-19 52 views
0

這是這個問題上的問題的後續:如何編寫AngularJS一般錯誤處理程序窗體

Server-side validation form Angular.js

所以使用這個問題的答案,你可以寫在一個模板一些HTML會顯示特定的錯誤爲每個錯誤提供$ setValidity。例如這裏是一個:

<input ng-model="user.lastName" required="true" id="lastNameField" name="lastName" type="text" class="span3" placeholder="Last Name"/> 
<span class="inlineError" ng-show="myProfile.lastName.$error.required">Required</span> 

但是,如果我想添加一個用於姓氏必須是4個或更多字符我有:

<input ng-model="user.lastName" required="true" id="lastNameField" name="lastName" type="text" class="span3" placeholder="Last Name"/> 
<span class="inlineError" ng-show="myProfile.lastName.$error.minRequired">Last name must be at least 4 characters long</span> 

我的問題是我怎麼能寫一個字段上所有錯誤的通用處理程序。例如:

<input ng-model="user.lastName" required="true" id="lastNameField" name="lastName" type="text" class="span3" placeholder="Last Name"/> 
<span class="inlineError" ng-show="myProfile.lastName.$error.required">{{myProfile.lastName.$error.required}}</span> 

這可能嗎?

回答

4

你的意思是說你只是想表明表單元素的有效性嗎? 然後,你可以這樣做:

<span ng-show="myProfile.lastName.$invalid">Input field is invalid.</span> 

如果您需要更具體的,你可以使用ng-repeat通過 myProfile.lastName.$error對象上進行迭代,並顯示所有錯誤。 在這種情況下,您必須具有一些錯誤名稱,以便可讀性爲 的錯誤消息轉換。

+0

這有點幫助,因爲我不知道$無效,但我真的指的是後面的部分,我遍歷所有錯誤消息並顯示它們。 – chubbsondubs

相關問題