2014-11-06 33 views
2

注意:这是一种Loopback validation on Properties who's types are other Models重复的,但我再次问,因为很多的变化出现在环回作了2回环验证谁的类型的其他型号(2.xx版本)

我有一个模型(车辆),它具有与需要验证的某些数据相对应的属性。

这里是一个示例车辆

{ 

    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" 
} 

但是,当我创建的车辆。它不检查我传递的细节对象是否有效。车辆和vehicleDetails之间的关系是一对一的,所以我不想将它们与关系分开。

回答

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