我想驗證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