次のシナリオがあります。
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 を使用して、サーバー側での検証を使用してデータテーブルにエラーを表示する別の方法は何でしょうか?
ありがとうございました。