使用'FormBuilder'在父组件中创建表单对象,如下所示
constructor(private _fb: FormBuilder) { }
ngOnInit() {
this.testForm = this._fb.group({});
}
表单对象的实例将传递给子组件,因此子组件中的输入字段可以绑定到父组件表单。 (已为不同类型的输入字段创建了子组件,以便可以重复使用它们)
<shared-ux-input-password
[parentForm]="testForm"
[isParentFormSubmitted]="false"
[inputFieldControlName]="'password'"
[confirmPasswordRequired]="true">
</shared-ux-input-password>
在子组件中,输入字段使用以下代码
创建let passwordFieldControl: FormControl = new FormControl('', Validators.compose([Validators.required, this.customValidatorFunction));
this.parentForm.addControl(this.inputFieldControlName, passwordFieldControl);
由于此子组件处理密码和确认密码,因此需要触发相同的自定义验证器功能以检查密码和确认密码是否匹配。
现在如何触发相同的自定义验证器函数,它可以从两个字段中获取值,如果密码和确认密码不匹配则会出错?
感谢您的帮助。