验证者:
import { AbstractControl, ValidatorFn } from '@angular/forms';
export function okatoValidator(): ValidatorFn {
return (control: AbstractControl): { [key: string]: any } | null => {
const valid = /^\d+$/.test(control.value);
console.log(valid);
console.log(control.valid);
return valid ? { okatoValidator: { value: control.value } } : null;
};
}
使用:
this.form = this.formBuilder.group({
okato: [null, [okatoValidator]]
});
模板是:
<input matInput formControlName="okato" />
我输入control.valid
作为字符串值,而不是数字,应该验证错误
答案 0 :(得分:0)
您无需在此处关闭,因为您无需将任何其他参数传递给验证器。
尝试此版本:
export function okatoValidator(control: AbstractControl): { [key: string]: any } | null {
const valid = /^\d+$/.test(control.value);
return !valid ? { okatoValidator: { value: control.value } } : null;
}