注意:这是Loopback validation on Properties who's types are other Models的副本,但我重新询问,因为在Loopback 2中进行了很多更改
我有一个模型(Vehicle),它具有属性,这些属性包含一些需要验证的数据。
这是一个示例车辆
{
details : {
year : 2007,
make: 3333,
....
},
options : {
hasAirbags: true,
powerWindows : false,
....
}
....
}
我已经定义了我的模型
"vehicleDetails": {
"properties": {
"year": {
"type": "string",
"required": true
}
},
"public": true,
"dataSource": "db",
"plural": "addresses"
},
"Vehicle": {
"properties": {
"options": {
"type": "vehicleOptions"
},
"details":{
"type": "vehicleDetails"
}
},
"public": true,
"dataSource": "db",
"plural": "locations"
}
然而,当我创造一辆车时。它不会检查我传递的详细信息对象是否有效。车辆与车辆之间的关系细节是一对一的,所以我不想将它们与人际关系分开。
答案 0 :(得分:3)
我发现这个小工作,但似乎应该比这更简单。我正在尝试验证帐户的address
属性是否为有效的Address
模型。
Account.validate('address', function (err) {
var Address = Account.app.models.Address;
var address = new Address(this.address);
address.isValid(function (valid) {
if (valid === false) {
err();
}
});
}, {
message: 'Address is not valid'
});