Проверка петли на свойствах, типами которых являются другие модели (версия 2.xx)
ПРИМЕЧАНИЕ. Это своего рода дубликат проверки Loopback на свойствах, типами которых являются другие модели, но я переспрашиваю, потому что в Loopback было внесено много изменений.
У меня есть Модель (Транспортное средство), у которой есть свойства, которые являются объектом с некоторыми данными, которые должны быть проверены.
Вот образец автомобиля
{
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"
}
Тем не менее, когда я создаю транспортное средство. он не проверяет, является ли объект данных, который я передаю, действительным. Отношения между vehicle и vehicleDetails взаимно однозначны, поэтому я не хочу отделять их от отношений.
1 ответ
Я нашел эту небольшую работу вокруг, но кажется, что это должно быть проще, чем это. Я пытаюсь подтвердить, что 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'
});