aurelia - computedFrom

时间:2016-03-29 07:38:34

标签: aurelia aurelia-validation

我有以下内容:

.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()

我相信config.computedFrom(['baseContent.ValidFromDate', 'baseContent.ValidFromTime', 'baseContent.ValidToDate', 'baseContent.ValidToTime']) - 意味着如果其中一个值发生变化,它会重新运行验证吗?但是它只在'baseContent.ValidFromDate'上执行此操作,我缺少什么/不理解?

更新

似乎问题与computeFrom不支持路径有关,实际上并不知道绕过此限制的另一种方法将此验证添加到四个项目

1 个答案:

答案 0 :(得分:0)

此功能于上周添加(aurelia-binding 1.0.0-beta.1.3.0)。见https://github.com/aurelia/binding/issues/149

用作装饰器时的语法是:

@computedFrom('obj.firstName', 'obj.lastName')