gpt4 book ai didi

angular2-forms - angular2 验证 : finding current validators on a control

转载 作者:行者123 更新时间:2023-12-04 16:06:48 25 4
gpt4 key购买 nike

Angular RC4 如何根据其他 FormControl 或 FormGroup 的状态添加和删除验证。

基于此帖子 Angular2 validator which relies on multiple form fields

在示例中 - 它使用 .compose 来设置多个验证器。它用新的 Validator.compose 替换现有的验证器

this.form.controls["empID"].validator = Validators.compose([Validators.pattern("[0-9]{7}"), Validators.required]);
this.form.controls["empID"].updateValueAndValidity();

我的问题是我找不到 FormControl(.add 或 .remove)来更改当前验证(一次一个验证器)。如果我想添加/删除 Validators.required,我将不得不拉出当前的验证器(另一个问题),然后在新的 .compose 中添加/删除 require。 (上例)

我是不是把这个过程想得太多了。动态添加验证器有效,但前提是我知道所有验证器。

最后一件事我试图通过传入一个控件并评估是否检查了另一个控件然后相应地应用/删除验证器来使其通用。

最佳答案

根据 Angular 的文档,这是不可能的。关于 AbstractControl documentation (这是 FormControl 扩展的类)没有成员来检索当前验证器。

不幸的是,您唯一的选择是使用两种可用的方法来处理验证器:

setValidators() // Replaces all validators
clearValidators() // Removes all validators

关于angular2-forms - angular2 验证 : finding current validators on a control,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38600218/

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