Проверка пользовательских правил Aurelia, которая зависит от двух сборщиков дат

У меня есть два выбора даты, скажем, startDate и endDate. Мое требование необходимо для проверки этих полей, когда выбирает одну дату. При выборе диапазона дат выполняется проверка наличия активной подписки в выбранном диапазоне. Если нет обоих средств выбора даты, должно отображаться сообщение "Нет активной подписки...". После выбора активного диапазона дат оба сообщения должны быть удалены. Я прошёл через Aurelia валидацию customRules. Но я не решил проблему.

Вот часть кода:

ValidationRules
   .ensure('startDate').required().satisfiesRule('validateSubscription', 'expiryDate').withMessage("")
   .ensure('expiryDate').required().satisfiesRule('validateSubscription', 'startDate').withMessage("")
   .on(PublishQuestionPaper);

Пользовательское правило:

 ValidationRules.customRule('validateSubscription',
   (value, obj, otherPropertyName) => {
     return value === null || 
            value === undefined || 
            value === ''|| 
            this.getValidLicenseForQPPublish(value) === true &&                 
            this.getValidLicenseForQPPublish(otherPropertyName) === true;
   },
   'Custom validation rule',
   otherPropertyName => ({ otherPropertyName }));

Функция getValidLicenseForQPPublish() содержит строки кода, которые проверяют бэкэнд на доступную подписку и возвращают true, если доступно, иначе возвращает false

0 ответов

Другие вопросы по тегам