javascript - 如何为 AngularJS 表单编写通用错误处理程序

标签 javascript forms validation 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>

这可能吗?

最佳答案

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

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

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

关于javascript - 如何为 AngularJS 表单编写通用错误处理程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12503301/

相关文章:

javascript - 饼图未在 ChartJS 中呈现

javascript - 获取 Axios 前端 promise 以从 Rails 后端接收错误消息

ruby - Rails 3 如何处理常量

javascript - 如果没有从选择框中选择任何值(标题除外),则返回 false

javascript - 如何不在 HTML 中硬编码图像的大小? (包括代码)

javascript - 强制为每个访问者加载启动页面

html - 全 div 宽度的文本框和按钮

php - MySQL 的简单 PHP 表单出错

java - javax.validation 的正确位置在哪里

c# - 除了需要为我的测试方法工作外,没有其他验证