ユーザ用ツール

サイト用ツール


サイドバー

プログラム言語:php:laravel:バリデーション:formrequestのrulesで入力データを扱いたい

【Laravel】FormRequest の rules で入力データを扱いたい

入力内容によってバリデーションを制御したい場合など、入力データの取得方法を毎回忘れるので。
以下のどちらかで、入力内容を取得できる。

$this->input()
$this->request->all()

使用例は以下な感じになります。

ExampleRequest.php

use Illuminate\Validation\Rule;

class ExampleRequest extends FormRequest
{
    public function rules()
    {
        // 入力内容を変数に代入
        $input = $this->input();

        return [
            'number' => [
                // type が A もしくは、sort が X ならば必須
                Rule::requiredIf(function () use ($input) {
                    return $input['type'] === 'A' || $input['sort'] === 'X';
                }),
                'between:0,99',
            ],
        ];
    }
}

コメント

コメントを入力. Wiki文法が有効です:
 
プログラム言語/php/laravel/バリデーション/formrequestのrulesで入力データを扱いたい.txt · 最終更新: 2021/03/26 17:30 by humolife