Angular 7 как получить доступ к свойству класса внутри пользовательского валидатора - PullRequest
0 голосов
/ 23 января 2020

Как получить доступ к свойству класса внутри пользовательской функции валидатора? У меня есть следующая пользовательская функция валидатора для проверки начальной и конечной даты. я не хочу, чтобы часть проверки была свойством класса в режиме редактирования. как этого добиться?

export function CourseDatesValidator(startDateControlName: string, endDateControlName: string): ValidatorFn {
    return (formGroup: FormGroup): { [key: string]: any } | null => {
        const validationMessages: Array<string> = [];
        const startDateValue = formGroup.get(startDateControlName).value;
        const endDateValue = formGroup.get(endDateControlName).value;

        const courseStartDate = moment(startDateValue, 'DD-MMM-YYYY', false);
        if (courseStartDate.isValid()) {

// Мне не нужно следующее условие, если значение свойства класса находится в режиме редактирования.

            if (courseStartDate.isBefore(moment())) {
                validationMessages.push(`Course start date must be in the future`);
            }

            const courseEndDate = moment(endDateValue, 'DD-MMM-YYYY');
            if (courseEndDate.isValid()) {
                if (courseStartDate.isAfter(courseEndDate)) {
                    validationMessages.push(`Course must end after the start date`);
                }
            }
        }

        return validationMessages.length > 0 ? {'coursedates': {value: validationMessages}} : null;
    };
}

Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...