我们有一个动态构建的组件.添加带有验证程序的控件的代码可能如下所示:
var c = new FormControl('', Validators.required);
但是假设我想添加第二个验证器later.我们怎样才能做到这一点呢?我们在网上找不到任何关于这方面的文档.我确实发现在表单控件中有setValidators
个
this.form.controls["firstName"].setValidators
但目前尚不清楚如何添加新的或自定义的验证器.
我们有一个动态构建的组件.添加带有验证程序的控件的代码可能如下所示:
var c = new FormControl('', Validators.required);
但是假设我想添加第二个验证器later.我们怎样才能做到这一点呢?我们在网上找不到任何关于这方面的文档.我确实发现在表单控件中有setValidators
个
this.form.controls["firstName"].setValidators
但目前尚不清楚如何添加新的或自定义的验证器.
您只需将FormControl
个验证程序传递给一组验证程序.
下面是一个示例,演示如何向现有FormControl添加验证程序:
this.form.controls["firstName"].setValidators([Validators.minLength(1), Validators.maxLength(30)]);
请注意,这将重置您在创建FormControl
时添加的任何现有验证器.
Angular 12 update个
从Angular 12开始,如果您想在不删除现有验证程序的情况下向表单中添加新的验证程序,可以使用addValidator
:
this.form.controls["firstName"].addValidators([Validators.minLength(1), Validators.maxLength(30)]);