[英]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.