在模型中使用Aurelia验证

在模型中使用Aurelia验证,aurelia,Aurelia,这与类似,但我们希望在模型级别定义验证逻辑,但下面不显示验证消息 用户模型.js(不工作) import{transient,inject}来自“aurelia框架”; 从“aurelia验证”导入{Sure}; @暂时的 导出类用户模型{ @确保(函数(it){it.isNotEmpty().hasLengthBetween(3,10)}) firstName=“”; 构造函数(){ this.firstName=“”; } }来自aurelia验证文件 随着视图模型变得更加复杂,或者如果开

这与类似,但我们希望在模型级别定义验证逻辑,但下面不显示验证消息

用户模型.js(不工作)

import{transient,inject}来自“aurelia框架”;
从“aurelia验证”导入{Sure};
@暂时的
导出类用户模型{
@确保(函数(it){it.isNotEmpty().hasLengthBetween(3,10)})
firstName=“”;
构造函数(){
this.firstName=“”;
}

}
来自aurelia验证文件

随着视图模型变得更加复杂,或者如果开始使用绑定 转换器,用于设置验证规则的绑定路径 可能与视图中使用的绑定路径不同,因此 您需要为validate自定义属性提供一些额外的线索 哪些元素应与哪些验证规则匹配。 考虑这个更复杂的例子…

基本上,验证规则是针对
UserModel
中的
firstName
属性创建的,但是输入元素的绑定具有不同的绑定路径:
value.bind=“UserModel.firstName”
。因此,您需要在输入元素上添加一个
validate=“firstName”
属性,以帮助aurelia validation知道要为验证消息匹配哪个HTML元素

下面是你可以做的()

用户模型.js

从“aurelia框架”导入{transient};
从“aurelia验证”导入{Sure};
@暂时的
导出类用户模型{
@确保(函数(it){it.isNotEmpty().hasLengthBetween(3,10)})
firstName=“”;
构造函数(){
this.firstName=“”;
}
}
user.js

从“aurelia框架”导入{inject};
从“aurelia Validation”导入{Validation};
从“用户模型”导入{UserModel};
@注入(验证,用户模型)
导出类用户{
构造函数(验证、用户模型){
this.userModel=userModel;
this.validation=validation.on(this.userModel);
}
}
user.html


名字