在Angular中,要将一个验证器添加到现有的FormControl集合中,可以使用setValidators方法。下面是一个示例:
首先,创建一个FormControl对象并将其添加到FormGroup中:
import { Component } from '@angular/core';
import { FormControl, FormGroup, Validators } from '@angular/forms';
@Component({
selector: 'app-example',
template: `
`,
})
export class ExampleComponent {
myForm: FormGroup;
constructor() {
this.myForm = new FormGroup({
myControl: new FormControl('', Validators.required),
});
}
}
然后,在需要的时候可以使用setValidators方法添加其他验证器:
import { Component } from '@angular/core';
import { FormControl, FormGroup, Validators } from '@angular/forms';
@Component({
selector: 'app-example',
template: `
`,
})
export class ExampleComponent {
myForm: FormGroup;
constructor() {
this.myForm = new FormGroup({
myControl: new FormControl('', Validators.required),
});
// 添加其他验证器
this.myForm.get('myControl').setValidators([Validators.required, Validators.minLength(3)]);
// 更新验证状态
this.myForm.get('myControl').updateValueAndValidity();
}
}
在上面的示例中,我们使用setValidators方法将'Validators.minLength(3)'验证器添加到现有的FormControl集合中。然后,我们调用updateValueAndValidity方法来更新验证状态。
这样,myControl表单控件将同时具有required和minLength(3)的验证规则。