Forms angular 2中表单级别的验证程序

Forms angular 2中表单级别的验证程序,forms,validation,angular,Forms,Validation,Angular,我想为包含多个控件的angular2表单创建一个验证器。到目前为止,我所发现的只是如何以一种孤立的方式为表单中的控件创建验证器,如下所示: this.myControl = new FormControl('',Validators.Required); 但是我没有发现任何一个验证器同时涉及多个控件的状态的例子 为了解释我的情况,这里有一个简单的例子。 在本例中,我想要的是: 如果选中该复选框,我希望这两个输入框不是必需的 如果没有选择checbox,我希望需要两个输入框 我可以通过编程

我想为包含多个控件的angular2表单创建一个验证器。到目前为止,我所发现的只是如何以一种孤立的方式为表单中的控件创建验证器,如下所示:

this.myControl = new FormControl('',Validators.Required);
但是我没有发现任何一个验证器同时涉及多个控件的状态的例子

为了解释我的情况,这里有一个简单的例子。

在本例中,我想要的是:

  • 如果选中该复选框,我希望这两个输入框不是必需的
  • 如果没有选择checbox,我希望需要两个输入框

我可以通过编程的方式对此进行解释,但我想知道是否有一个优雅的解决方案,它涉及表单级别的验证器,而不仅仅是表单控件级别的验证器。

您可以看看这个示例,它有自定义验证器来检查确认密码是否与formGroup级别的密码匹配,并且涉及多个表单控件:非常感谢@HarryNinh,但这并不是我想要的。同样,它不允许我同时检查多个控件的状态,也不允许我决定是否要在每个控件上添加或删除验证。如果这不能同时检查多个控件(新密码和确认密码)的状态,我不知道会发生什么。您不需要动态地添加/删除验证,只需检查控件值,或者调用另一个控件上的验证函数,或者忽略它。