gpt4 book ai didi

javascript - 如何将另一个值传递给表单验证方法?

转载 作者:行者123 更新时间:2023-11-30 19:46:11 25 4
gpt4 key购买 nike

我创建了如下的表单组

import { setPwd } from './validators';

@Component({
....
export class pwdComp {
...

this.userFormPassword = this.fb.group({
'password': ['', [ setPwd ]]
});

在我的另一个 ts 文件中有 setPwd 方法

export function setPwd(c: FormControl) {
const SINGLE_LETTER_NUMERAL = /^\=\?$/;
return SINGLE_LETTER_NUMERAL.test(c.value) ? null : {
pwd: {
valid: false
}
};
}

上面的脚本工作正常。但是现在我的新场景是我想将 pattern 属性传递给 setPwd 方法,所以我尝试如下

this.userFormPassword = this.fb.group({
'password': ['', [ setPwd('**') ]]
});

setPwd 方法是

export function setPwd(c: FormControl, newPattern) {

但是它抛出了错误。如何将额外的值传递给外部函数。

最佳答案

你应该像下面这样改变你的功能

export function setPwd(pattern: RegExp): ValidatorFn {
return (control: AbstractControl): {[key: string]: any} | null => {
const forbidden = pattern.test(control.value);
return forbidden ? {'pwd': {value: control.value}} : null;
};
}

this.userFormPassword = this.fb.group({
'password': ['', setPwd('**') ]
});

关于javascript - 如何将另一个值传递给表单验证方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54921919/

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