我以为我已经钉了这个,似乎没有。我收到以下错误:
未处理的承诺拒绝错误:意外的行为:a validation-rules-collection应该始终满足
.ensure('baseContent.ValidFromDate', (config) => { config.computedFrom(['baseContent.ValidFromDate', 'baseContent.ValidFromTime', 'baseContent.ValidToDate', 'baseContent.ValidToTime']) })
.if(() => {
return this.baseContent.ValidFromDate !== null && this.baseContent.ValidFromTime !== null && this.baseContent.ValidToDate !== null && this.baseContent.ValidToTime !== null})
.passes( () => { return this.datetimeformat.format(this.baseContent.ValidFromDate, this.baseContent.ValidFromTime) < this.datetimeformat.format(this.baseContent.ValidToDate, this.baseContent.ValidToTime) })
.endIf().isNotEmpty()
第一次回归布尔。但是,如果false则不会标记这一点。之后我收到上面的错误。
另外我希望我可以添加自定义错误?它会出现在所有盒子上吗?
或者我需要做一些像
这样的事情确保([.. .. .. ..]
答案 0 :(得分:0)
经过大量调查后我发现问题来自我的格式化类,它没有正确创建日期/时间(使用moment.js)(在用户从日历中选择之后),意味着它返回了'您无法比较的无效日期: - |
这将有效:
this.validator = this.validation.on(this)
.ensure('baseContent.ValidFromDate', (config) => { config.computedFrom(['baseContent.ValidFromDate', 'baseContent.ValidFromTime', 'baseContent.ValidToDate', 'baseContent.ValidToTime']) })
.if(() => {
return this.baseContent.ValidFromDate !== null && this.baseContent.ValidFromTime !== null && this.baseContent.ValidToDate !== null && this.baseContent.ValidToTime !== null })
.passes( () => { return this.datetimeformat.format(this.baseContent.ValidFromDate, this.baseContent.ValidFromTime) < this.datetimeformat.format(this.baseContent.ValidToDate, this.baseContent.ValidToTime) })
.withMessage('< Valid To')
.endIf()