gpt4 book ai didi

forms - 如何在 Angular2 中触发表单验证器

转载 作者:太空狗 更新时间:2023-10-29 16:46:01 25 4
gpt4 key购买 nike

在 angular2 中,我想在更改另一个控件时触发某些控件的验证器。有什么方法可以告诉表单重新验证吗?更好的是,我可以请求验证特定字段吗?

例子:给定复选框 X 并输入 P。输入 P 有一个验证器,它根据 X 的模型值表现不同。当 X 被选中/未选中时,我需要调用 P 上的验证器。P 上的验证器将查看模型以确定 X 的状态并相应地验证 P。

这是一些代码:

constructor(builder: FormBuilder) {
this.formData = { num: '', checkbox: false };

this.formGp = builder.group({
numberFld: [this.formData.num, myValidators.numericRange],
checkboxFld: [this.formData.checkbox],
});
}

this.formGp.controls['checkboxFld'].valueChanges.observer({
next: (value) => {
// I want to be able to do something like the following line:
this.formGp.controls['numberFld'].validator(this.formGp.controls['numberFld']);
}
});

有人有解决办法吗?谢谢!

最佳答案

我不知道你是否还在寻找答案,所以这是我的建议:

看看这个:Angular 2 - AbstractControl

我认为您可以执行以下操作:

this.formGp.controls['checkboxFld'].valueChanges.observer({
next: (value) => {
this.formGp.controls['numberFld'].updateValueAndValidity();
}
});

这应该会触发并运行验证器。此外,状态也会更新。现在您应该能够在验证器逻辑中查询复选框值。

Validaton-Guide

FormControl Documentation

关于forms - 如何在 Angular2 中触发表单验证器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32260082/

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