gpt4 book ai didi

typescript - Angular 2 多个验证器

转载 作者:太空狗 更新时间:2023-10-29 16:48:30 26 4
gpt4 key购买 nike

是否可以在一个表单字段上有多个验证器?我试过了,但它导致了一些奇怪的错误(字段永远无效,即使满足要求也是如此)

this.username = new Control('', Validators.minLength(5), Validators.required);

如何使用多个验证器?

最佳答案

您可以使用 Validators.compose() 组合验证器

this.username = new Control('', 
Validators.compose(
[Validators.minLength(5), Validators.required]));

异步验证器使用

this.username = new Control('', null,
Validators.composeAsync(
[someAsyncValidator, otherAsyncValidator]));

异步验证器存在 Unresolved 问题,尤其是同步验证器与异步验证器结合使用时不起作用

要使同步验证器与异步验证器一起工作,请将同步验证器包装在 promises 中并将它们组合为异步验证器,例如

this.username = new Control('', null,
Validators.composeAsync([
(control:Control) => Promise.resolve(Validators.minLength(5)(control)),
(control:Control) => Promise.resolve(Validators.required(control)),
someAsyncValidator, otherAsyncValidator
]));

关于typescript - Angular 2 多个验证器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37168571/

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