2015-01-03 3 views
1

В Sails.js можно использовать различные подключения к базам данных для моделей и легко изменить базу данных (MySQL или MongoDB). Проблема возникает, когда я хочу отображать ошибки проверки. Это мои коды:Sails.js обработка ошибок проверки атрибутов

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 ... 
+0

У меня есть та же самая проблема. Вы можете сделать console.log (req.params.all()); и показать, что не так. В моем случае идентификатор не определен. –

ответ

1

вы можете попробовать:

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

поймать ошибку

Смежные вопросы