0

这是此问题的后续问题:

服务器端验证表单 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

1 回答 1

4

你的意思是你只想表明表单元素的有效性吗?然后,你可以这样做:

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

如果需要更具体,可以使用ng-repeat来遍历 myProfile.lastName.$error对象并显示所有错误。在这种情况下,您必须有一些错误名称来翻译错误消息以提高可读性。

于 2012-09-20T00:01:30.717 回答