Html 角度反应形式验证

Html 角度反应形式验证,html,angular,angular6,angular-reactive-forms,angular-validation,Html,Angular,Angular6,Angular Reactive Forms,Angular Validation,我使用的是反应式表单,我注意到在一些教程中,它们会执行以下操作: HTML . . <input type="text" formControlName="firstName" required> . . 问题: 如果我只是在TS文件中指定“required”,那么为什么我需要在HTML中指定“required”,它工作得很好?实际上,我要提到以下几点: 注意:将这些HTML5验证属性与 Angular的反应式表单提供的内置验证器。使用这些 组合使用可防止在之后更改表达式时出错 已

我使用的是反应式表单,我注意到在一些教程中,它们会执行以下操作:

HTML

.
.
<input type="text" formControlName="firstName" required>
.
.
问题:


如果我只是在TS文件中指定“required”,那么为什么我需要在HTML中指定“required”,它工作得很好?

实际上,我要提到以下几点:

注意:将这些HTML5验证属性与 Angular的反应式表单提供的内置验证器。使用这些 组合使用可防止在之后更改表达式时出错 已检查模板


事实上,我想提一下:

注意:将这些HTML5验证属性与 Angular的反应式表单提供的内置验证器。使用这些 组合使用可防止在之后更改表达式时出错 已检查模板


请详细说明此注释,因为它没有完全解释ExpressionChangedTerrithasBeenCheckedError在检查模板后更改表达式时抛出的验证结果。无论我是否使用HTML5验证,在抛出ExpressionChangedTerithasBeenCheckedError之后,我在验证中没有遇到任何错误。然而,我在控制台中打印了另一个我不理解的错误对象。谢谢。有没有办法从创建的TS验证器中提取这些内容?请详细说明此注释,因为它没有完全解释ExpressionChangedTerrithasBeenCheckedError在检查模板后更改表达式时,Angular会抛出表达式ChangedTerrithasBeenCheckedError。无论我是否使用HTML5验证,在抛出ExpressionChangedTerithasBeenCheckedError之后,我在验证中没有遇到任何错误。然而,我在控制台中打印了另一个我不理解的错误对象。谢谢。有没有办法从创建的TS验证器中提取这些内容?
.
.
firstName: ['', Validators.required]
.
.