我将FormControl
对象绑定到input
元素。
<input matInput [formControl]="nameControl">
它按以下方式初始化
this.nameControl = new FormControl({value: initValue, disabled: true}, [Validators.required, UniqueValueValidator(uniqueValues)]);
当FormControl
被禁用时,它不会检查任何错误。
问题是如何使控件处于禁用状态,并且仍然显示错误。
发布于 2018-06-04 23:09:00
当表单控件是valid
或invalid
时,不可能获得disabled
状态。
表单控件有四种状态类型:pending
、disabled
、valid
和invalid
,只保留其中一种状态。因此,当表单控件的状态为disabled
时,它将只为disable
,而不是valid
,而不是invalid
,参见文档。
从技术上讲,您可以模拟验证过程,但是任何基于input.hasError('...')
或invalid
/valid
的方法都不能工作。
<input matInput [formControl]="nameControl">
<div *ngIf="form.get('nameControl').disabled && form.get('nameControl').value === ''">
field is required.
</div>
https://stackoverflow.com/questions/50693973
复制相似问题