我有两个日期选择器说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