Я использую Angular Reactive Forms и хочу подтвердить формат моей даты в приоритете (перед двумя существующими валидаторами).Мой действительный формат: дд / мм / гггг ( не дд / мм / гг).Я использую средство выбора даты bootstrap v4.
Моя форма:
this.myForm = this.fb.group({
'day': ['', [Validators.required, minDateValidator(this.todayMoment.toDate()), businessDayValidator()]]
});
Мои валидаторы:
export function minDateValidator(minDate: Date): ValidatorFn {
return (control: AbstractControl): {[key: string]: any} | null => {
const invalid = control.value < minDate.setHours(0, 0, 0);
return invalid ? {'minDate': {value: control.value}} : null;
};
}
export function businessDayValidator(): ValidatorFn {
return (control: AbstractControl): {[key: string]: any} | null => {
const invalid = !DateUtilsService.isBusinessDay(moment(control.value));
return invalid ? {'businessDay': {value: control.value}} : null;
};
}
Я пытаюсь добавить это Validators.pattern('(2|1)[0-9]{3}-[0-9]{2}-[2-9]{2}.*')
в режиме онлайн с регулярным выражением exec в порядке, но не в Angular (выведите эту ошибку):
{ "pattern": { "requiredPattern": "^(2|1)[0-9]{3}-[0-9]{2}-[2-9]{2}.*$", "actualValue": "2019-04-15T10:00:00.000Z" } }