如何基于Angular 4中的条件在表单控件上操纵(有效/无效)表单验证

时间:2018-09-20 04:43:07

标签: angularjs angular-forms

我有一个可以更新电子邮件和密码的表单,所以我使用表单组

创建了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”部分。如果由于电子邮件和“确认电子邮件”导致表单仍然无效,我们可以动态删除并添加表单控件

1 个答案:

答案 0 :(得分:0)

是的,您可以使用动态反应式表单动态添加和删除表单控件。

Angular在他们的文档中对此进行了详细介绍... https://angular.io/guide/dynamic-form

本质上,他们在那里使用了FormControl的数组