2016-09-23 109 views
0

從我Laravel API我收到JSON中的以下驗證錯誤:Laravel和vue.js驗證

{ 
    "error": { 
    "billabletime": [ 
     "The billabletime field is required." 
    ], 

    "time": [ 
     "time bust be a integer." 
    ] 
    } 
} 

那麼我將如何讓他們在vue.js?現在我有這個,但是這顯然不工作:

showError (message) { 
    swal({ 
    title: "Fout", 
    text: message.error, 
    type: "error", 
    timer: 2000, 
    showConfirmButton: false 
    }); 
} 
+0

您首先應使用message.error.billabletime在文本對象 – rad11

+0

是的,但是billabletime也可能是一些其他的錯誤消息。 (編輯) – Jamie

回答

1

像這樣:

var errorString = ''; 
if (message.hasOwnProperty('error')) { 
    for(var prop in message.error) { 
     if (Array.isArray(prop)) { 
      for (var msg in prop) { 
       errorString += prop[msg] . '<br/>'; 
      } 
     } else { 
      errorString += message.error[prop] . '<br/>'; 
     } 
    } 
} 

一些簡單的像這應該給你想要的結果。不需要知道索引名稱。

編輯附加的功能來處理stirng /陣列

+0

真棒謝謝! – Jamie