【问题标题】:How to write a generic error handler for AngularJS Forms如何为 AngularJS 表单编写通用错误处理程序
【发布时间】:2012-09-19 21:38:33
【问题描述】:

这是这个问题的后续问题:

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>

这可能吗?

【问题讨论】:

    标签: javascript forms validation angularjs


    【解决方案1】:

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

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

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

    【讨论】:

    • 这有点帮助,因为我不知道 $invalid,但我的意思是后面的部分,我遍历所有错误消息并显示它们。
    猜你喜欢
    • 2013-10-08
    • 2012-04-17
    • 2021-10-17
    • 2020-04-29
    • 2014-08-03
    • 1970-01-01
    • 2013-11-11
    • 2015-08-31
    • 2011-12-18
    相关资源
    最近更新 更多