2017-07-16 1 views
0

Ich arbeite an Bootstrap-Tabelle bearbeitbar. Eine Erweiterung von Wenzhixin Bootstrap Table.wenzhixin Bootstrap-Tabelle Editierbar: Show Fehler bei der Server-Validierung

Bootstrap Table Editable

Ich verwende OnEditable Daten an den Server zu senden (Laravel Mit der Server-Anforderung zu verarbeiten). Ich erhalte im Gegenzug Fehlercodes über das Ergebnis. Aber ich kann anscheinend keinen Weg finden, diesen Fehler im Editierbaren Popover anzuzeigen oder zu verhindern, dass der neue Wert durch den alten Wert ersetzt wird. Wie Fehler zeigt, wenn wir die Eingabe validieren.

Ich habe die Editable-> Erfolg überprüft, aber es hat nur neuen Wert. Antwortparameter ist immer undefiniert.

Hier ist mein Code:

var table = $('#table'); 
     table.bootstrapTable({ 
     columns: [ 
      { 
       field: 'roomType' 
      }, 
      { 
       field: 'Mon', 
       editable: { 
        type: 'number', 
        title: 'Update Rates', 
        validate: function (v) { 
         if (!v) return 'Please Enter Rate Value'; 
         if (parseFloat(v) < 0) return 'Rate should be greater than 0'; 
        } 
       } 
      } 
     ], 
     onEditableSave: function (field, row, oldValue, $el) { 

      var data = { 
       '_token': window.Laravel.csrfToken, 
       'Field': field, 
       'PK': row['_'+field+'_data'].pk, 
       'oldValue': oldValue, 
       'newValue': row[field] 
      }; 

      $.post("Url", data) 
        .success(function(data, textStatus, xhr) { 
         if (data.success) { 
         } 
         else{ 
          switch (data.code) { 
           case 400: 
            return data.msg; 
            break; 

           case 403: 
            return data.msg; 
            break; 

           case 401: 
            return data.msg; 
            break; 
          } 
         } 
        }) 
        .fail(function(data, textStatus, xhr) { 
         return 'Something went wrong.'; 
        }); 
     } 
    }); 

ich diese Art von Fehlern erwarten zeigen:,

Output To be Expected

Antwort

0

ich nicht die erforderliche Leistung erhalten könnte auf den Fehler zu zeigen, das Popover. Aber ich habe eine Arbeit bekommen.

Sol: Ich ersetze den alten Wert bei Fehler durch $ el [0] .text = oldValue; und zeigt den Fehler in einigen Alarmmitteln.

Dank

    $.post(URL, data) 
         .success(function(data, textStatus, xhr) { 
          if (data.success) { 
          } 
          else{ 
           switch (data.code) { 
            case 400: 
             $el[0].text = oldValue; 
             ShowError(data); 
             break; 

            case 403: 
             $el[0].text = oldValue; 
             ShowError(data); 
             break; 

            case 401: 
             $el[0].text = oldValue; 
             ShowError(data); 
             break; 
           } 
          } 
         }) 
         .fail(function(data, textStatus, xhr) { 
          $el[0].text = oldValue; 
          ShowError('Something Went Wrong'); 
         }); 
Verwandte Themen