gpt4 book ai didi

Angular FormControl 检查是否需要

转载 作者:行者123 更新时间:2023-12-02 16:33:20 26 4
gpt4 key购买 nike

有没有办法检查是否需要控制?

当我实现一个专用的表单字段组件时出现了问题,该组件接受 FormControl 并且不仅有 输入 而且还有验证错误。由于某些字段是必需的,因此最好让用户知道 * 是否需要该字段。

有没有办法检查 @Input() 控件:FormControlValidators.required 并显示星号?

最佳答案

你可以这样做:

import { Component } from '@angular/core';
import { FormGroup, FormControl, Validators, AbstractControl } from '@angular/forms';

@Component({...})
export class AppComponent {
form: FormGroup = new FormGroup({
control: new FormControl(null, Validators.required)
});

get validator() {
const validator = this.form.get('control').validator({} as AbstractControl);
console.log(validator);
if (validator && validator.required) {
return true;
}
}
}

然后在您的模板中:

<form [formGroup]="form" (submit)="onSubmit()">
Control: <span *ngIf="validator">*</span> <input type="text" formControlName="control">
<button>Submit</button>
</form>
<小时/>

注意:只需使用 this.form.get('control').validator({} 作为 AbstractControl 类型获取表单控件抽象控件);

这将返回一个对象,其中包含 FormControl 上存在的验证器列表。然后,您可以检查对象中的required 键。如果它存在并且其值为 true,那么您可以确定在 FormControl 上应用了必需的验证器。

<小时/>

这是一个Working Sample StackBlitz供您引用。

关于Angular FormControl 检查是否需要,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53557690/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com