2012-09-19 49 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

相关问题