首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >向myFormItem.$error添加后端错误而不使表单无效?

向myFormItem.$error添加后端错误而不使表单无效?
EN

Stack Overflow用户
提问于 2015-07-15 11:44:44
回答 1查看 34关注 0票数 1

我使用ng-messages来显示组件的各种验证消息,如下所示:

代码语言:javascript
复制
<ng-messages for="myForm.myField.$error" ng-if="myForm.myField.$touched">
    <ng-message when="required">My Field required</ng-message>
    <ng-message when="foo">Foo Message</ng-message>
    <ng-message when="backend">{{myForm.backendMessages.myField}}</ng-message>
</ng-messages>

在处理来自服务器的错误消息期间,我将定制的错误消息添加到组件中:

代码语言:javascript
复制
myField.$setValidity("backend", false);
myField.$setTouched(true); // So ng-messages is shown

就将消息放在我想要的位置而言,它工作得很好,但这显然将表单标记为“无效”,这意味着当触发客户端验证时,我不能使用简单的逻辑来禁用表单提交。

有没有一种“神圣的”方式可以添加到myField.$error中,而不会真正使组件和表单失效?或者,一旦用户弄脏了表单,我是否必须重置整个“有效”标志,这将使消息消失?如果是后者,那么最好的方法是什么呢?

使用Angular 1.4.1 FWIW。

EN

回答 1

Stack Overflow用户

发布于 2015-07-15 11:52:44

我还没有使用过ng-messages组件,但听起来似乎可以使用novalidate属性。

代码语言:javascript
复制
<form method="POST" action="xyz" novalidate> ... </form>

这样,组件就会进行验证,而浏览器不会触发本机验证错误

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31421137

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档