gpt4 book ai didi

Angular FormArray 无效不会将表单标记为无效

转载 作者:行者123 更新时间:2023-12-05 07:00:01 26 4
gpt4 key购买 nike

我有一个表单,其中一个控件是 formGroups 的 formArray。我将自定义验证器设置为 formGroups 中的一些控件。验证器工作正常,如果我在某些控件无效时检查 formArray 的有效性状态,则 formArray 也无效。但问题是,尽管 formArray 的状态无效,但表单的状态有效。

就像表单忽略了 formArray 控件的状态。

这就是它的工作方式?

最佳答案

据我所知,FormArray 会评估其子组,只是不会收到有关更新或有效性更改的通知。但是您可以手动执行此操作,例如将 FormGroups 更改事件传播到数组。

只是一个未经测试的草图,但它应该是这样的。

const formGroup1: FormGroup = this._formBuilder.group({
element: [null, [Validators.required]],
});

const formArray: FormArray = this._formBuilder.array([
formGroup1
]);

// the controls should be an array of formGroups here.
const valueSubscription: Subscription = this.formArray.controls[0].valueChanges.subscribe(() => {
this.formArray.updateValueAndValidity();
}

关于Angular FormArray 无效不会将表单标记为无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64225934/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com