1

Sails.js中,可以为模型使用不同的数据库连接,并且很容易更改数据库(MySQL 或 MongoDB)。当我想显示验证错误时,就会出现问题。这些是我的代码:

Groups.js 模型

...
    connection: 'MysqlConnection', //or connection: 'MongodbConnection'
    attributes: {
        id: {
            type: 'string',
            unique: true
        },
        name: {
            type: 'string',
            required: true
        },
...

GroupsController.js 控制器:

...
//add group to database
Groups.create(group, function (err, data) {
    if (err) {
        console.log(err);
        res.send('Error'); // is it possible to send only validation error
        return;
    } else {
        res.send(data);
    }
});
...

我应该分别处理每个属性验证错误,是否可以只发送验证错误?

MySQL 返回:

Error (E_VALIDATION) :: 1 attribute is invalid ...

MongoDB 返回:

Error (E_UNKNOWN) :: Encountered an unexpected error ...
4

1 回答 1

1

你可以试试:

      Model.catch(function(err) {
        var inspect = Object.keys(err)// [ "reason","invalidAttributes", ".."        ]
        console.log(  Object.keys(err.invalidAttributes) ) // ["name","etc.."]
      })

捕捉错误

于 2016-02-18T22:55:40.523 回答