首页 > 解决方案 > Angular 8. 模板驱动的表单元素条件必需属性

问题描述

我想这是一个非常愚蠢的问题。我有输入元素(type='text'),它应该有条件地具有必需的属性。我的代码如下所示:

<input type="text" [attr.required]="required ? '' : null" 

在浏览器中检查输出时,我清楚地观察到HTML DOM 中存在必需的属性。

在此处输入图像描述

但由于某种原因,必需的属性在我的表单验证中不起作用(字段总是有 ng-valid 类)。

同时,如果我粗暴地添加required属性(无条件地,作为普通的 html 布局),例如:

<input type="text" required

那么它对我有用:如果字段为空,则自动删除ng-valid类。

我做错了[attr.required]="required ? '' : null" 什么?

先感谢您!

标签: angular

解决方案


你可以像这样简单地使用它: [required]="isFieldRequired() ? 'required' : null"


推荐阅读