2017-07-16 67 views
0

我在引導表上編輯可編輯。溫之新Bootstrap表的延伸。wenzhixin引導表可編輯:顯示服務器驗證錯誤

Bootstrap Table Editable

我使用OnEditable將數據發送到服務器(使用Laravel來處理服務器請求)。我收到錯誤代碼作爲對結果的回報。但我似乎無法找到一種方法來顯示可編輯彈出窗口上的錯誤或防止新值被舊值所取代。 Like Error顯示我們何時驗證輸入。

我檢查了可編輯 - >成功,但它只有新的價值。響應參數始終未定義。

這裏是我的代碼:

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

我期待着這樣那樣的錯誤顯示:

Output To be Expected

回答

0

我無法得到所需的輸出,顯示上的錯誤popover。但我有一個工作。

解決方案:我用$ el [0] .text = oldValue替換舊錯誤值。並在某些警報手段中顯示錯誤。

感謝

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