😸

Livewire関数のエラー発生を検知する方法

2022/07/30に公開

Livewireでsave関数を呼び出し、validationエラーならモダルを表示し続けたいが、エラーが無いならモダルの表示を辞めたいのようなロジックの実装方法です。 関数の中で「成功」イベントを発火させても良いのですが、そうしますと関数毎にイベントを作成する必要や、不必要なネットワークのやり取りが増えます。 もっと良い方法は、このようにJavascriptのhookで処理をするやり方です。

       document.addEventListener("DOMContentLoaded", () => {
               Livewire.hook('message.received', (message,component) => {
		     // 呼び出した関数名
                     if (message.updateQueue[0].payload.method === 'save') {
		        
			// エラー件数が0なら成功とみなす
			if (message.response.serverMemo.errors.length === 0) {
                             console.log('成功');
                         } else {
                            console.log('失敗');
                         }
                     }
               });
       });

Discussion