对属性的环回验证是谁的类型是其他模型(版本2.xx)

时间:2014-11-06 17:23:15

标签: loopbackjs

注意:这是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"
}

然而,当我创造一辆车时。它不会检查我传递的详细信息对象是否有效。车辆与车辆之间的关系细节是一对一的,所以我不想将它们与人际关系分开。

1 个答案:

答案 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'
  });