2014-01-30 56 views
2

所以顯示貓鼬的錯誤,我已經在那裏我想用戶如何骨幹意見

this.model.save(user_details, { // this is backbone model 
       error: function (model, errors) { 

       }, 
       success: function (model, response) { 
       } 
      }); 

骨幹示範urlRoot點保存到後臺功能,其中

// here user is a Mongoose schema 
user.save(function (err) { 
    if (err) { 
     res.send(err.errors); 

    } 
}); 

我一個骨幹視圖我正在Mongoose模式中運行一些驗證。

如果驗證失敗,我如何在主幹視圖上顯示這些「err.errors」。 我可以看到在終端,如果我控制檯登錄錯誤,但不能發送他們回到意見。

回答

0

發現瞭解決方案通過「錯誤」找對象後,

All errors are returned in "errors.resposeText" which has format like 
{ 
    "key name": { 
    "message": "", 
    "name": "", 
    "path": "", 
    "type": "", 
    "value": "" 
} 
} 

this.model.save(user_details, { // this is backbone model 
      error: function (model, errors) { 
       var err = JSON.parse(errors.responseText); 
       $.each(errors, function (name, err) { 
        // do something with error 
        console.log(name + err.message); 
       } 


      }, 
      success: function (model, response) { 
      } 
     }); 

注:從喜歡獨特,DUP鍵MongoDB的錯誤在這種格式不追加。所以它決定了我們將它們改爲json並將其包含在res.errors中。

In case of error in unique keys user.save(function (err) { 

    if (err) { 
     if(err.code!='undefined' && err.code=='11000') 
      err.errors = {'email':{'message':'This unique value is already in db'}}; 
     res.send(500, err.errors); 
    }