作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我创建了如下的表单组
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/
我是一名优秀的程序员,十分优秀!