在Angular中,当使用响应式表单时,可以通过FormGroup和FormControl来创建表单组和表单控件。要使表单组中的验证生效,需要为每个FormControl添加验证规则。
以下是一个示例代码,演示如何在表单组中添加验证规则:
首先,我们需要导入所需的表单模块和验证器:
import { Component } from '@angular/core';
import { FormGroup, FormControl, Validators } from '@angular/forms';
然后,在组件类中创建一个表单组和表单控件,并为控件添加验证规则:
@Component({
selector: 'app-your-component',
template: `
`
})
export class YourComponent {
myForm: FormGroup;
constructor() {
this.myForm = new FormGroup({
myGroup: new FormGroup({
myControl: new FormControl('', Validators.required)
})
});
}
}
在上面的代码中,我们创建了一个名为myForm的FormGroup,并在其中创建了一个名为myGroup的FormGroup,以及一个名为myControl的FormControl。我们使用Validators.required验证器来确保该控件不能为空。
最后,在模板中,我们将FormGroup绑定到form元素的formGroup属性上,并将FormControl绑定到input元素的formControlName属性上。
这样,当用户提交表单时,如果myControl控件的值为空,将显示验证错误消息。
请注意,您还需要在模块中导入FormsModule和ReactiveFormsModule,并将它们添加到imports数组中:
import { NgModule } from '@angular/core';
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
@NgModule({
imports: [
FormsModule,
ReactiveFormsModule
],
declarations: [
YourComponent
]
})
export class YourModule { }
这样就可以确保表单组中的验证规则生效了。