0

次のシナリオがあります。

Webix ルールを使用してクライアントでの入力を検証する、いくつかの編集可能な列を含むデータ テーブル。ただし、クライアントでは検証できず、サーバーでのみ検証できる列があります (つまり、一意の ID/コード)。

アプローチは、ルールを作成し、同期モードで webix.ajax を使用して検証することであり、これは絶対に避けたいと思います。

「保存」で検証できると思いました。サーバーは、エラーまたは成功の状態応答を返すことができます。これは、データテーブルの onAfterUpdate イベントでキャッチできます (より良い方法があれば修正してください。ただし、この方法で動作します)。この時点で、サーバー スクリプトがエラー ステータスを返し、行 (および対応する列/セル) をエラーとしてマークする場合は、データ テーブルに検証エラーを表示したいと考えています。データテーブルで callEvent メソッドを使用して onValidationError イベントを発生させることができると思っていましたが、うまくいきませんでした。

save: {
  url: "save.php",
  autoupdate: true,
  on:{
    onAfterUpdate:function(response, id, details) {
      if (response.status == 'error')
        myDataTable.callEvent('onValidationError');
    }
  }
}

ドキュメントには、callEvent からイベントにいくつかのパラメーターを渡すことができると記載されていますが、ドキュメントに仕様が見つかりませんでした。上記のコードは機能しません (イベントは発生しません)。

問題は、callEvent を使用してデータテーブルの onValidationError イベントを発生させるにはどうすればよいかということです。

または、webix を使用して、サーバー側での検証を使用してデータテーブルにエラーを表示する別の方法は何でしょうか?

ありがとうございました。

4

1 に答える 1