ユーザ用ツール

サイト用ツール


サイドバー

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

文書の過去の版を表示しています。


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

Rule を使って、入力内容によって細かいバリデーションチェックを行いたい場合。
以下のどちらかで、入力内容を取得できます。

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

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

ExampleRequest.php

use Illuminate\Validation\Rule;

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

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

        return $rules;
    }
}

コメント

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