我想验证Aurelia ViewModel的对象属性。Aurelia验证嵌套对象
视图模型
@autoinject
class AddUserForm {
user: User;
controller: ValidationController;
constructor(controllerFactory: ValidationControllerFactory) {
this.controller = controllerFactory.createForCurrentScope();
}
validate() {
this.controller.validate.then(res => {
console.log(res.valid);
})
}
}
ValidationRules
.ensure((u: User) => u.id).displayName('User').required()
.on(AddUserForm)
视图模型 - >查看
<template>
<form click.trigger="validate()">
<input type="text" value.bind="user.id & validate" />
</form>
</template>
用户
class User {
id: string
}
我遇到的问题是,验证器拿起嵌套的用户对象。我是否错过了一些可以使这个工作?我读了docs,它似乎应该工作。我正在使用该插件的版本^1.0.0
。
更改为.on(用户)而不是.on(AddUserForm) – mgiesa
@mgiesa验证控制器如何获取验证User对象而不是当前作用域对象的事实? – Rodrigo
如果它没有提到属性“user”是User类型并自动验证它的事实(我不记得它是否存在),那么可以编写this.controller.addObject(this.user)在你的validate方法调用this.controller.validate() – mgiesa