【发布时间】:2020-04-06 03:07:35
【问题描述】:
我正在使用 Angular 8 和响应式表单。
在我的模板中,我的代码如下所示:
<input type="text"
class="form-control" formControlName="name"
placeholder="name"
[class.is-invalid]="validationError(formControl)" />
想法是,如果validationError 是“真实的”,则将红色边框添加到输入元素。
无法将 FormControl 的引用传递给 validationError 函数。请注意,表单中有很多数组,因此模板引用(即#name)可能很棘手。有没有一种简单的方法可以从模板中获取对由 formControlName 指定的当前表单控件的引用?
【问题讨论】:
-
用
form.get('name')怎么样? -
另请注意,Angular 会自动将类
ng-invalid添加到控件中。因此,只需在样式表中添加此 CSS 类的定义即可在所有输入上自动实现您想要的效果,而无需向模板添加任何内容。
标签: angular angular-reactive-forms