我有一个可以更新电子邮件和密码的表单,所以我使用表单组
创建了FormControl。this.user= new FormGroup({
Email: new FormControl("", [
Validators.required,
Validators.pattern("^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}$"),
Validators.maxLength(60)
]),
ConfirmEmail: new FormControl("", [
Validators.required,
Validators.pattern("^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}$"),
Validators.maxLength(60)
]),
Password: new FormControl("", [
Validators.required,
Validators.pattern("^(?=.*[a-z])(?=.*[A-Z])(?=.*\\d)[a-zA-Z\\d]{8,}$"),
Validators.maxLength(60)
]),
ConfirmPassword: new FormControl("", [
Validators.required,
Validators.pattern("^(?=.*[a-z])(?=.*[A-Z])(?=.*\\d)[a-zA-Z\\d]{8,}$"),
Validators.maxLength(60)
])
});
但是,即使用户使用* ng隐藏它,也仅在用户想要更新的情况下显示“电子邮件和ConfirmEmail”部分。如果由于电子邮件和“确认电子邮件”导致表单仍然无效,我们可以动态删除并添加表单控件
答案 0 :(得分:0)
是的,您可以使用动态反应式表单动态添加和删除表单控件。
Angular在他们的文档中对此进行了详细介绍... https://angular.io/guide/dynamic-form
本质上,他们在那里使用了FormControl的数组