我的一个Sails / Waterline模型定义如下:
/**
* Meeting.js
*/
module.exports = {
attributes: {
datetime: {
type: 'datetime',
required: true,
},
agenda: {
model: 'agenda',
},
minutes: {
model: 'minutes',
},
}
};
我有一个控制器,其工作是将测试数据填充到数据库中。部分内容如下(coffeescript):
create: (req, res) ->
meeting = Meeting.create(
datetime: new Date(),
).exec((err, new_meeting) ->
return res.negotiate(err) if err
# do more stuff
)
但是,当我尝试运行它时,我收到以下错误:
"invalidAttributes": {
"datetime": [
{
"rule": "datetime",
"message": "Value should be a datetime (instead of 1497312500210, which is a number)"
}
]
},
// and so on
为什么此验证失败?我传递了Date
个对象。由于JavaScript没有datetime
个对象,Date
显然是正确的。除了Waterline不喜欢它。 Waterline想要什么?
如果不是很明显,我对节点,Sails,Waterline等都很陌生。我主要处理Python。
答案 0 :(得分:0)
糟糕。在上一次代码迭代中,我创建了datetime
值为Date().now()
。我发布的错误是为了这个。当我将代码更改为问题中的版本时,我忘记了我必须每次都重新启动Sails 我更改了任何内容,因为当文件发生更改时,Sails无法确定正确的操作是自动重新加载。所以,问题就解决了。