当我尝试在 ValidationRules 中使用“.when()”时出错

Error when I try to use ".when()" in ValidationRules

我正在尝试在 class

上添加以下验证
ValidationRules
.ensure("disputeAmount").required({ fullMessages: true, message: 'Required' })
.when(a => a.canBeDisputed)
.on(BillItem);

需要 验证工作正常。但是当我添加 when 子句时,我得到了这个错误:

[app-router] Error: (SystemJS) TypeError:
aurelia_validatejs_1.ValidationRules.ensure(...).required(...).when is not a function


以下是 config.js

中的相关项目
"aurelia-validatejs": "npm:aurelia-validatejs@0.6.0",
"aurelia-validation": "npm:aurelia-validation@0.10.0",
"npm:aurelia-validatejs@0.6.0": {
  "aurelia-metadata": "npm:aurelia-metadata@1.0.0-rc.1.0.0",
  "aurelia-validation": "npm:aurelia-validation@0.10.0",
  "validate.js": "npm:validate.js@0.10.0"
},
"npm:aurelia-validation@0.10.0": {
  "aurelia-binding": "npm:aurelia-binding@1.0.0-rc.1.0.2",
  "aurelia-dependency-injection": "npm:aurelia-dependency-injection@1.0.0-rc.1.0.0",
  "aurelia-metadata": "npm:aurelia-metadata@1.0.0-rc.1.0.0",
  "aurelia-task-queue": "npm:aurelia-task-queue@1.0.0-rc.1.0.0",
  "aurelia-templating": "npm:aurelia-templating@1.0.0-rc.1.0.0"
},

这与 aurelia-validation 的版本有关吗?如果是这样我该如何更新它? (项目不是我设置的)

aurelia-validation 的最新版本是 1.1.1,但您使用的是 0.10.0

package.json 文件定义了当您 运行 npm install

时 npm 将安装的版本

如果您在那里更改版本并删除 node_modules 文件夹,然后 运行 npm install 您将获得最新版本。然后更新 config.js 以使用 1.1.1