Laravel は、Web アプリケーションを迅速に構築するための便利な機能を多数提供する人気のある PHP フレームワークです。一般的な機能の 1 つは、フォームの送信を処理することです。この記事では、Laravel でのフォーム送信について詳しく説明します。
まず、Web ページにフォームを作成する必要があります。 Laravel は多くのフォーム構築方法を提供しますが、最も一般的に使用されるのはブレードビューを使用してフォームを生成することです。以下は簡単な例です:
<form method="POST" action="{{ route('submit') }}"> @csrf <label for="name">姓名:</label> <input type="text" id="name" name="name"> <button type="submit">提交</button> </form>
この例では、<form>
タグを使用してフォームを作成し、フォームの method
と # を設定します。 ##action属性。
methodフォーム送信メソッドを指定します。一般的に使用されるメソッドは、
GET と
POST です。
actionフォーム送信のターゲット アドレスを指定します。Laravel が提供する
route 関数を使用してルーティング アドレスを生成できます。
@csrf ディレクティブを提供します。
、
Route::post('/submit', 'FormController@submit')->name('submit');
の / にアクセスしたときに、 POST
方法 アドレスを送信すると、
FormController の
submit メソッドが呼び出されて処理されます。また、ビュー内のフォームの
action 属性の生成を容易にするために、このルートに名前を付けました。
FormController で
submit メソッドを定義する必要があります。例:
use Illuminate\Http\Request; class FormController extends Controller { public function submit(Request $request) { $name = $request->input('name'); // 处理表单数据 return view('submit-success'); } }
Request オブジェクトを取得します。このオブジェクトは、フォームによって送信されたデータを取得するために使用できます。
$request->input('name') を使用して、
name という名前のフォーム要素の値を取得します。
FormController で
rules メソッドを定義して、検証ルールを定義する必要があります。例:
class FormController extends Controller { public function rules() { return [ 'name' => 'required|max:255', 'email' => 'required|email|unique:users', 'password' => 'required|confirmed|min:6', ]; } }
name 要素の検証ルールは、この要素が必須であり、255 文字を超えることはできないことを示しています。
submit メソッドを変更し、フォーム検証に
validate メソッドを使用する必要があります。例:
public function submit(Request $request) { $validatedData = $request->validate($this->rules()); // 处理验证通过的表单数据 return view('submit-success'); }
rules メソッドを呼び出して検証ルールを取得します。次に、
$request->validate メソッドを呼び出してフォーム検証を実行しました。検証が失敗した場合、Laravel はエラー情報を含む応答を自動的に返します。検証に合格すると、Laravel は検証されたフォームデータを返し、後続の処理で使用できます。
validate メソッドは、
rules メソッドで定義された検証ルールを検証に自動的に使用することに注意してください。エラー メッセージがある場合、Laravel は自動的に追加します。
$errors 変数に追加すると、ビューで
$errors->first('name') を使用して、最初の
name という名前のフォーム要素を取得できます。エラーメッセージ。
Request オブジェクトを使用してフォーム データを取得し、データを処理します。最後に、
rules メソッドを使用してフォーム検証ルールを定義し、
validate メソッドを使用して検証を実行できます。
Form クラスと
Request オブジェクトを使用してフォームを作成するなど、フォームを処理する他の多くの方法を提供していることに注意してください。 #Request
フォーム検証などのオブジェクト。特定のニーズに応じて、フォームを処理するさまざまな方法を選択できます。
以上がLaravel でのフォーム送信に関する関連知識について話し合うの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。