Проверка пользовательских правил 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