Vin*_*nce 5 angular-validation angular
我正在尝试为日期输入创建一个验证器。
所以我已经写了这段代码,但是没有按预期工作!
export class CustomValidators {
static dateMinimum(date: string): ValidatorFn {
return (control: AbstractControl): ValidationErrors | null => {
if (control.value == null) {
return null;
}
const controlDate = moment(control.value, FORMAT_DATE);
if (!controlDate.isValid()) {
return null;
}
const validationDate = moment(date);
return controlDate.isAfter(validationDate) ? null : {
'date-minimum': {
'date-minimum': validationDate.format(FORMAT_DATE),
'actual': controlDate.format(FORMAT_DATE)
}
};
};
}
}
Run Code Online (Sandbox Code Playgroud)
我收到这个错误
ERROR Error: Expected validator to return Promise or Observable.at toObservable (forms.js:749)
Run Code Online (Sandbox Code Playgroud)
我真的不知道哪件事是不正确的...我发现了很多示例,这些示例如何创建不带参数但不带参数的自定义验证器...
我需要像这样使用验证器:
this.projectForm = this.builder.group({
date: ['', Validators.required, CustomValidators.dateMinimum('2018-12-12')],
});
Run Code Online (Sandbox Code Playgroud)
一切正常....
问题在于表单创建本身......
date: ['', Validators.required, CustomValidators.dateMinimum('2018-12-12')],
Run Code Online (Sandbox Code Playgroud)
应该
date: ['', [Validators.required, CustomValidators.dateMinimum('2018-12-12')]],
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4354 次 |
| 最近记录: |