Laravel 5.4入門シリーズ12.要求クラスを使用してフィールド検証を行う

1457 ワード

このセクションの内容は簡単です.以前はvalidatorの方法でフィールド検証を行いましたが、多くの場所で同じ検証を使用する場合は、コードを繰り返し書く必要があります.したがって、Laravelは、フィールド検証、すなわち「要求クラス」を行う別の方法を提供する.
まず、要求クラスを作成します.
$ php artisan make:request RegistrationForm
登録関連情報をクラスに移動します.
/app/Http/Requests/RegistrationForm.php

use App\Mail\Welcome;
use App\User;

class RegistrationForm extends FormRequest
{

    public function authorize()
    {
        return true;
    }

 
    public function rules()
    {
        return [
            'name' => 'required',
            'email' => 'required|email|unique:users',
            'password' => 'required|confirmed',
        ];
    }

    public function persist()
    {

        $user = User::create(
            $this->only(['name','password','email'])
        );

        auth()->login($user);

        \Mail::to($user)->send(new Welcome($user));
    }
}
注記:
  • は、誰もがその要求(すなわち登録)を行う権利を有するので、authorize()trueに戻るべきである.
  • rule()で定義する検証ルール
  • レジストリの作成ユーザーおよびメール送信機能もリクエストクラス
  • にカプセル化しました.
    コントローラのコードは以下のように簡略化できます.
    use App\Http\Requests\RegistrationForm;
    
    public function store(RegistrationForm $request)
    {
        $request->persist();
    
        return redirect()->home();
    }
    もし私たちが他の場所でもこの要求を使用するなら、RegistrationFormに直接伝えればいいのではないでしょうか.便利ではありませんか.