Проверка петли на свойствах, типами которых являются другие модели (версия 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'
  });
Другие вопросы по тегам