如何使用当前版本的 aurelia-validation



我正在尝试遵循aurelia(验证(教程。但是,我知道它需要更新。即便如此,我认为通过文档,我将能够弄清楚如何使其工作,但事实并非如此。

原始代码是这样的:

import {inject} from "aurelia-framework";
import {Validation} from "aurelia-validation";
@inject(Validation)
export class Edit {
    constructor(validation) {
        this.validation = validation.on(this)
            .ensure("movie.title")
                .isNotEmpty()
            .ensure("movie.releaseYear")
                .isNumber();
    }
}

这似乎不再有效了。尝试将验证导入构造函数时出现注入错误。

我去了文档,似乎不再存在验证符号。

我尝试将验证规则验证器注入我的类,但没有一个支持确保或方法。

我尝试遵循文档上的流程,其中"on"将是最后一个方法调用。但由于连确保都不起作用,我被卡住了。

感谢任何帮助。

Aurelia在过去两年中经历了很多变化,因此有很多教程不起作用。 但是DocHub上的官方文档Aurelia验证应该适合你。

重要提示:

Aurelia 验证似乎有一个限制,即它不能很好地处理对象的子属性,就像您尝试做的那样(this.movie.title (。 相反,您应该执行以下操作:

import {ValidationRules} from "aurelia-validation";
export class Edit {
  constructor() {
    ValidationRules
      .ensure("title").required()
      .ensure("releaseYear").required()
      .on(this.movie);
  }
}

您可以将.required()更改为任何有效规则。 但是,我不认为.isNotEmpty().isNumber()在有效规则列表中。 请参阅文档。

最新更新