如何使用当前版本的aurelia验证?
我正在尝试学习aurelia(验证)教程。然而,我知道事实上它需要更新。即便如此,我认为有了这些文档,我就能知道如何让它工作,但这并没有发生 原始代码如下所示:如何使用当前版本的aurelia验证?,aurelia,Aurelia,我正在尝试学习aurelia(验证)教程。然而,我知道事实上它需要更新。即便如此,我认为有了这些文档,我就能知道如何让它工作,但这并没有发生 原始代码如下所示: import {inject} from "aurelia-framework"; import {Validation} from "aurelia-validation"; @inject(Validation) export class Edit { constructor(validation) {
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)
。