gpt4 book ai didi

javascript - Angular 响应式表单 - 当子 FormGroup 更改时手动触发父 FormGroup 的验证

转载 作者:行者123 更新时间:2023-11-29 16:02:39 27 4
gpt4 key购买 nike

我有一个定义 FormGroup 的 Angular 组件,它有一个嵌套的 FormGroup 作为它的控件之一。

FormGroup 作为 @Input 参数传递给子 component,并且在 child FormGroup.

出于某种原因,parent FormGroupvalid 属性仅在我更新子组件中的值后更新,然后随机生成一个更改为父级 FormGroup 的输入之一(例如向输入添加额外的空格)。

设置相当复杂(验证器根据特定条件在 child FormGroup 上的控件中添加或删除,这可能是验证未自动发生的原因)。

我如何手动触发父 FormGroup 在子 FormGroup 中的任何内容发生变化时立即重新验证?我在 child 组件中试过这个:

ngOnInit()

this.myForm.valueChanges.subscribe(val => {
this.myForm.updateValueAndValidity({onlySelf: false, emitEvent: true})
});

这应该会在其任何输入发生变化时触发 child FormGroup 的重新验证,并将事件广播到 parent 组件,这应该触发父级 FormGroup 的重新验证。不过,我遇到了某种堆栈溢出错误,因为这会导致无限循环。

如何触发父 FormGroup 自动重新验证?

最佳答案

this.FormGroup.updateValueAndValidity();

updateValueAndValidity() - 这是 FormGroup

的默认方法

关于javascript - Angular 响应式表单 - 当子 FormGroup 更改时手动触发父 FormGroup 的验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50362888/

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