繁体   English   中英

Angular 2:将远程验证错误应用于表单

[英]Angular 2: Apply remote validation errors to form

在向我的后端提交表单时,我可能会收到http代码400的响应,表明验证失败。

我的后端响应例如:

 { "status":"fail", "data":{ "email":[ "Email address already in use" ] } } 

我想使电子邮件字段无效并根据响应设置错误消息。

我试过的是这个:

 if (err && err.status === 400) { const response = err.json(); Object.keys(response.data).forEach(key => { const messages = response.data[key]; this.registerForm.get(key).setErrors({ remote: messages[0] // Set just the first message }, true); }); } 

这看起来部分有效,问题是我的控件没有获得无效状态,除非我通过单击输入来聚焦控件。

我做错了什么还是错误? 我所有的谷歌搜索似乎都证实我正确地做到了。

任何输入appr

您可以重新实现适应活动表单样式的注册表单,您可以在其中执行表单输入的自定义验证,并通过返回表单中的promises来更新解析promise,从而进行异步验证。 您可以查看Angular 2文档以实现反应式表单验证: Reactive Form Validation - Angular 2

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM