如何使用当前版本的aurelia验证?

如何使用当前版本的aurelia验证?,aurelia,Aurelia,我正在尝试学习aurelia(验证)教程。然而,我知道事实上它需要更新。即便如此,我认为有了这些文档,我就能知道如何让它工作,但这并没有发生 原始代码如下所示: import {inject} from "aurelia-framework"; import {Validation} from "aurelia-validation"; @inject(Validation) export class Edit { constructor(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();
    }
}
import {ValidationRules} from "aurelia-validation";
export class Edit {
  constructor() {
    ValidationRules
      .ensure("title").required()
      .ensure("releaseYear").required()
      .on(this.movie);
  }
}
这似乎不再管用了。我在尝试将验证导入构造函数时遇到注入错误

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

我尝试将验证规则验证程序注入到我的类中,但没有一个方法支持确保

我试着在文档上遵循流程,其中“on”将是最后一个方法调用。但是,因为连都不能确保工作正常,我就被绊倒了


感谢您的帮助。

Aurelia在过去两年中经历了很多变化,因此有很多教程不起作用。但奥雷利亚验证的DocHub应该对你有用

重要提示:

Aurelia验证似乎有一个局限性,即它不能很好地处理对象的子属性,就像您正在尝试做的那样(
this.movie.title
)。相反,您应该这样做:

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();
    }
}
import {ValidationRules} from "aurelia-validation";
export class Edit {
  constructor() {
    ValidationRules
      .ensure("title").required()
      .ensure("releaseYear").required()
      .on(this.movie);
  }
}

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

Aurelia在过去两年中经历了很多变化,因此有相当多的教程不起作用。但奥雷利亚验证的DocHub应该对你有用

重要提示:

Aurelia验证似乎有一个局限性,即它不能很好地处理对象的子属性,就像您正在尝试做的那样(
this.movie.title
)。相反,您应该这样做:

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();
    }
}
import {ValidationRules} from "aurelia-validation";
export class Edit {
  constructor() {
    ValidationRules
      .ensure("title").required()
      .ensure("releaseYear").required()
      .on(this.movie);
  }
}

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

Aurelia在过去两年中经历了许多变化,因此有相当多的教程不起作用。但是关于奥雷利亚验证的DocHub的官方文件应该对您有用。顺便说一句,你应该接受@lstarky的答案。。b/c他的是对的,我的是错的:-)奥雷莉亚在过去两年经历了很多变化,所以有很多教程不起作用。但是关于奥雷利亚验证的DocHub的官方文件应该对您有用。顺便说一句,你应该接受@lstarky的答案。。b/c他的答案是对的,我的答案是错的:-)好吧,现在我已经通过标记我自己的答案来删除我的问题,请接受这个正确的答案!我必须将
isnotEmpty()
更改为
required()
(足够近)并将
isNumber()
更改为
matches(regex)
。好了,现在我已经通过标记我自己的答案成功删除了我的问题,请接受正确的答案!我必须将
isnotEmpty()
更改为
required()
(足够接近),并将
isNumber()
更改为
匹配(regex)