1

AJAX を使用したフォーム検証への一般的なアプローチをよりよく理解したいと考えています。

このアプローチに関する情報をいくつか見つけましたが、何が標準的な方法で何がハックなのかを解読するのが難しい場合があります。

一般的な私のシナリオでは、ユーザーが送信する動的フォームがあり、フォーム入力が有効であることを確認したいと考えています。フォーム入力が検証に合格しない場合、入力が送信されたフォームを再表示し、エラー メッセージを表示したいと考えています。

私が読んだことから、ベストプラクティスのアプローチは、送信時に AJAX POST を実行し、基本的にフォーム全体を投稿することです。サーバーは投稿されたアイテムを検証する AJAX 投稿を処理し、すべてのアイテムが有効である場合、それらは操作されます (データベースへの更新、挿入など)。最後に、AJAX 応答が検証結果を返します。検証結果が成功を示した場合、単純なリダイレクトが発生します (フォーム入力は既に処理され、AJAX 要求で DB にコミットされているため、フォームは再送信されません)。検証結果がエラーを示している場合は、エラーが表示され、リダイレクトは発生しません。

これは正しいアプローチですか?AJAX POST 中にフォーム入力を処理して、コールバックにリダイレクトだけを残す必要がありますか?それとも、コールバック後にフォームを再投稿してフォーム入力を処理するのが最善ですか?

フォームを再投稿しても意味がありません。その場合、セキュリティ上の理由から、AJAX の投稿と再投稿の両方で、データを 2 回検証する必要があると思います。

さらに優れた、より標準的なアプローチを見逃した可能性もあります。ありがとう。

4

0 に答える 0