2017-07-16 2 views
0

私は編集可能なブートストラップテーブルで作業しています。 Wenzhixinブートストラップテーブルの拡張。wenzhixin Bootstrapテーブル編集可能:サーバー検証でエラーを表示します

Bootstrap Table Editable

私は(サーバ要求を処理するためにLaravelを使用して)サーバにデータを送信するためにOnEditable使用しています。私は結果についての返答としてエラーコードを受け取ります。しかし、編集可能なPopoverでそのエラーを表示する方法や、新しい値が古い値に置き換えられるのを防ぐ方法が見つからないようです。私たちが入力を検証すると、エラーのように表示されます。

私はEditable-> successをチェックしましたが、それにはNEW VALUEしかありません。応答パラメータは常に定義されていません。ここで

は私のコードです:

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

私は、上のエラーを表示するために、必要な出力を得ることができませんでしたポップオーバー。しかし、私は回避策を得ました。

ソル:$ 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'); 
         }); 
関連する問題