gpt4 book ai didi

angular - 如何将额外的参数传递给 Angular 中的异步验证器(响应式(Reactive)表单)?

转载 作者:太空狗 更新时间:2023-10-29 19:28:34 25 4
gpt4 key购买 nike

我有以下异步验证器。如果我想将它用于 react 形式,我必须将它作为第三个参数传递

slug: [null, [Validators.required], [CustomValidators.slug]],

如何将额外的参数传递给验证器?

import {FormControl} from "@angular/forms";

interface IValidation {
[key: string]: boolean;
}

export class CustomValidators {

static slug(control: FormControl) {
const q = new Promise<IValidation>((resolve, reject) => {
setTimeout(() => {
if (control.value === 'TEST') {
resolve({'duplicated': true});
} else {
resolve(null);
}
}, 1000);
});
return q;
}
}

如果我将它用作

slug: [null, [Validators.required], [CustomValidators.slug('string param')]],

问题是第一个参数是控件。

最佳答案

像这样写你的验证:

static slug(param: string) {
return (control: FormControl) => {
const q = new Promise<IValidation>((resolve, reject) => {
setTimeout(() => {
if (control.value === 'TEST') {
resolve({'duplicated': true});
} else {
resolve(null);
}
}, 1000);
});
return q;
};
}

关于angular - 如何将额外的参数传递给 Angular 中的异步验证器(响应式(Reactive)表单)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45599070/

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