Laravel 5.4入門シリーズ12.要求クラスを使用してフィールド検証を行う
このセクションの内容は簡単です.以前は
まず、要求クラスを作成します.は、誰もがその要求(すなわち登録)を行う権利を有するので、 レジストリの作成ユーザーおよびメール送信機能もリクエストクラス にカプセル化しました.
コントローラのコードは以下のように簡略化できます.
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
に直接伝えればいいのではないでしょうか.便利ではありませんか.