![](/img/trans.png)
[英]Async custom validator not working and showing error message in Angular 8
[英]Angular(2/4/5/6) Custom validator error message not showing
我正在尝试使用表单自定义验证器正确显示验证器,但我不确定如何调用它。 我在html端尝试了BroadcastForm.controls.errors.customTimeValidator()但它无法正常工作。 感谢您的帮助!
broadcast.component.ts
ngOnInit() {
this.BroadcastForm = this.fb.group({
datetime: [
datetime,
Validators.compose([Validators.required, this.customTimeValidator()]),
],
});
}
customTimeValidator(): ValidatorFn {
return (control: AbstractControl): { [key: string]: any } | null => {
const minDate = new Date();
minDate.setSeconds(0);
this.minTime = minDate.getTime() + 59 * 1000;
const forbidden = control.value <= minDate;
return forbidden ? { forbiddenName: { value: control.value } } : null;
};
}
broadcast.component.html
<div class="validation-error" *ngIf="
BroadcastForm.controls.datetimeOption.value === 'false' &&
BroadcastForm.controls.errors.customTimeValidator()"> //how do I call customTimeValidator correctly?
Please select a future date/time
</div>
改变这个
BroadcastForm.controls.errors.customTimeValidator()
至
BroadcastForm.controls['datetime']['errors']['forbiddenName']
实际上你可以使用json
管道找到所有错误
{{ BroadcastForm.controls['datetime']['errors'] | json }}
我很遗憾地说,接受的答案很恶心,无论是看也可以使用。
使用更简单,更清洁和记录的东西:
BroadcastForm.get('datetime').hasError('forbiddenName')
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.