Rod*_*ira 1 aurelia aurelia-validation aurelia-framework
我正在尝试遵循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();
}
}
Run Code Online (Sandbox Code Playgroud)
这似乎不再起作用了.尝试在构造函数中进行验证时出现注入错误.
我去了文档,似乎不再存在验证符号.
我试图注入ValidationRules和验证到我的课,但没有支持保证或上的方法.
我尝试按照文档上的流程进行操作,其中"on"将是最后一个方法调用.但由于甚至没有确保工作,我被困住了.
感谢任何帮助.
Aurelia在过去两年中经历了很多变化,因此有很多教程不起作用.但是关于Docure的Aurelia验证的官方文档应该对你有用.
重要的提示:
Aurelia验证似乎有一个限制,它不能很好地处理对象的子属性,就像你正在尝试做的那样(this.movie.title).相反,你应该做这样的事情:
import {ValidationRules} from "aurelia-validation";
export class Edit {
constructor() {
ValidationRules
.ensure("title").required()
.ensure("releaseYear").required()
.on(this.movie);
}
}
Run Code Online (Sandbox Code Playgroud)
您可以更改.required()为任何有效规则.但是,我不认为.isNotEmpty()或.isNumber()在有效规则列表中.请参阅文档.