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。