我构建了一个自定义验证器。
this.slideOneForm = formBuilder.group({
remise: ['', Validators.compose([Validators.maxLength(2), Validators.pattern('[1-9 ]*')]),Validator.isValid],
quantite: ['', Validators.compose([Validators.maxLength(2), Validators.pattern('[1-9 ]*')])],
});
这是自定义验证器的实现,它在remise线上调用:
export class Validator {
static isValid(control: FormControl): any {
return new Promise(resolve => {
setTimeout(() => {
console.log(control.value,"control.value");
if (control.value > 50) {
resolve({
"remise ne peut pas passer 50% !": true
});
}
else {
resolve(null);
}
}, 50);
});
}
}
当我用以下值测试时:10,20,30,40,控制台上的值是“未定义”。当我用1,25或任何数字< 50它完美无缺。
我如何解决问题。 提前谢谢你。