2016-09-23 6 views
0

Aus meinem Laravel api erhalte ich folgende Validierungsfehler innerhalb json:Laravel und vue.js Validierung

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

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

So wie würde ich sie zeigen, in vue.js? Im Moment habe ich das, aber das ist offensichtlich nicht funktioniert:

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

Sie zuerst sollten verwenden message.error.billabletime in Textobjekt – rad11

+0

Ja aber billabletime könnte auch sein, einige andere Fehlermeldung zu behandeln. (machte eine Änderung) – Jamie

Antwort

1

So:

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/>'; 
     } 
    } 
} 

etwas Einfaches wie das sollten Sie das gewünschte Ergebnis. Es ist nicht notwendig, Indexnamen zu kennen.

bearbeiten zusätzliche Funktionalität stirng/array

+0

Ehrfürchtige danke! – Jamie