2011-12-15 14 views
3

私は組み込みの 'アクション'フォーマッタを使用してインライン編集(行編集)と削除を行っています。jqGridの 'action'フォーマッタで 'before save'コールバックを定義する方法は?

問題は、私はajaxを使って検証したいので(実際のフィールドを返すことができます)、セーブステートメントに 'save'コールバックを追加できませんでした。

Image with an example of the view.

私はCOLアクションを定義するために使用colModel:あなたはonErrorコールバック関数を定義することができますアクションフォーマッタのパラメータのリストで

{name: 'Actions', formatter: 'actions', 
        editable: false, 
        search: false, 
        width: '50', 
        sortable: false, 
        resizable: false, 
        formatoptions:{ 
         keys:true 
        } 
} 

答えて

0

を(the answerを参照してください)。データの保存中にエラーが発生した場合、サーバーがエラーステータスコードを返すことが重要です。送信されるデータの検証は、そのようなエラーの例の1つです。

更新日:答えは非常に古いです。インライン編集は、長い時間(バージョン4.5.3のサインイン)以来beforeSaveRowをサポートしています。それにもかかわらず、コールバックはクライアント側の検証を提供します。質問はサーバーにAYAX要求を介してサーバー側の確認についてでした。この場合、onErrorはこれを行うための唯一の良い方法です。サーバーは、HTTPエラー(> = 400)に対応するHTTPステータスコードを設定するだけで済みます。サーバがHTTPエラーコードを設定できない場合に限り、successfuncコールバックalternatively, which corresponds onSuccess inフォーマッタ:「アクション」を使用できます。検証エラーの場合、コールバックは[false, "error description"]を返す必要があります。

関連する問題