2017-07-16 6 views
0

Je travaille sur la table de bootstrap Modifiable. Une extension de Wenzhixin Bootstrap Table.wenzhixin Bootstrap Table modifiable: Afficher Erreur sur la validation du serveur

Bootstrap Table Editable

J'utilise OnEditable pour envoyer des données au serveur (à l'aide Laravel pour gérer la requête du serveur). Je reçois des codes d'erreur en retour sur le résultat. Mais je n'arrive pas à trouver un moyen de montrer cette erreur sur le popover modifiable OU d'empêcher la nouvelle valeur d'être remplacée par une ancienne valeur. Comme Erreur montre quand Nous validons l'entrée.

J'ai vérifié le succès Editable-> mais il n'a que NEW VALUE. Le paramètre de réponse est toujours indéfini.

Voici mon 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.'; 
        }); 
     } 
    }); 

J'attends ce genre d'erreur à afficher:

Output To be Expected

Répondre

0

Je ne pouvais pas la puissance requise pour afficher l'erreur le popover. Mais j'ai un travail autour. Sol: Je remplace l'ancienne valeur d'erreur par $ el [0] .text = oldValue; et montrant l'erreur dans certains moyens d'alerte.

Merci

    $.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'); 
         });