Javascript Angular 4 disabled FormControl不检查或显示验证错误

Javascript Angular 4 disabled FormControl不检查或显示验证错误,javascript,angular,typescript,angular4-forms,Javascript,Angular,Typescript,Angular4 Forms,我将FormControl对象绑定到input元素 它初始化如下 this.nameControl=newformcontrol({value:initValue,disabled:true},[Validators.required,UniqueValueValidator(uniqueValues)]) 禁用FormControl时,它不会检查任何错误 问题是如何使控件保持禁用状态并仍然显示错误。当窗体控件处于禁用状态时,不可能获得有效的或无效的状态 表单控件有四种状态:pending、d

我将
FormControl
对象绑定到
input
元素

它初始化如下

this.nameControl=newformcontrol({value:initValue,disabled:true},[Validators.required,UniqueValueValidator(uniqueValues)])

禁用
FormControl
时,它不会检查任何错误


问题是如何使控件保持禁用状态并仍然显示错误。

当窗体控件处于禁用状态时,不可能获得
有效的
无效的
状态

表单控件有四种状态:
pending
disabled
valid
invalid
,并且将仅保留其中一种状态。 因此,当表单控件的状态为禁用时,它将仅为禁用、无效、无效,请参见


从技术上讲,您可以模拟验证过程,但任何基于
输入的操作。hasrerror(“…”)
无效
/
有效
都不起作用

<input matInput [formControl]="nameControl">
<div *ngIf="form.get('nameControl').disabled && form.get('nameControl').value === ''">
  field is required.
</div>

字段是必填的。

但是否需要禁用控件,但仍然能够显示错误(如果有)。(或者换句话说,如何在UI上禁用控件,但仍然能够显示任何错误)@kiranghule27您可以从技术上模拟验证过程。但在我看来,这不值得。我已经添加了一个示例,请参阅我更新的anwser。