【问题标题】:How to set a field validity based in API response如何根据 API 响应设置字段有效性
【发布时间】:2017-08-14 11:14:22
【问题描述】:

我有一个带有注册表单的 Angular 4 应用程序。提交时,我从 API 获得如果使用用户名或电子邮件(服务器验证规则)设置的信息。我试图找到一种类似于 AngularJS $setValidity(validationErrorKey, isValid) 中的 NgModelController 的方法来设置反应表单的字段有效性,但我不能。我只想在 API 响应后设置验证。

【问题讨论】:

    标签: forms angular validation


    【解决方案1】:

    用于手动更改响应式表单的输入元素的验证状态(带有自定义错误),

    您可以使用setError() 将状态更改为error

    this.form.controls.name.setErrors({'testError': true});
    

    并通过

    清除错误
    this.form.controls.name.setErrors(null);
    

    参考Plunker demo

    【讨论】:

    • 感谢您的回复,它有效。让我再问你一个问题,通过这种方法,我可以手动控制字段验证,但是当我进行一系列验证时,我想针对这种情况显示一条特定消息。如何存档?
    • @aUXcoder 在我的回答示例中,我添加了基于特定验证错误的自定义消息,您可以通过form.controls.name.hasError('customError') 显示消息。如果您还有其他问题,请告诉我。 :-)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-20
    • 2023-02-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多