将表单字段设置为有效的Angular 4

时间:2018-10-09 11:58:24

标签: angular

我有一个具有地址表格的应用程序

用户可以拥有英国或非英国地址

这些字段在外部文件中设置了验证程序,但是一切正常,

不再需要用户在英国或非英国地址邮政编码之间交换时,我可以删除验证器

this.paymentForm.get('postcode').setValidators(null);
this.paymentForm.get('postcode').setErrors({'valid': true});
this.paymentForm.get('postcode').markAsPristine()
this.paymentForm.get('postcode').markAsUntouched();

但是字段有效属性始终显示为有效:false

尝试过

this.paymentForm.get('postcode').setErrors({'valid': true});

但是似乎没有任何作用

1 个答案:

答案 0 :(得分:0)

此处的最佳选择是在 .setErrors(null)

上调用 FormControl

所以你可以这样做:

像这样获取您的 FormControlthis.paymentForm.get('postcode')

并将其标记为有效,如下所示:this.paymentForm.get('postcode').setErrors(null);