「Laravel」ファイルアップデートのバリデーションでなぜか「uploaded」が引っかかる場合の対処方法

Laravel10のバリデーションで以下のルールを用意しました。

  • ファイルサイズは2MB以下まで許可する
    public function rules(): array
    {
        return [
            'image1' => ['nullable', 'image', 'max:2048'],
        ];
    }

    public function messages()
    {
        return [
            'image1.max' => '添付画像1:ファイルサイズは「:max キロバイト以下」にしてください',
        ];
    }

2MB以上のファイルをアップロードしてテストを行ったところ、エラーメッセージ「The ”name名” failed to upload.」が発生。

自分で用意したバリデーションメッセージ「添付画像1:ファイルサイズは「2048 キロバイト以下」にしてください」が表示されない。といった現象です。

目次

原因

原因はphp.iniの制限が先に効いていたためでした。

対策

対策としては下記のとおりphp.iniファイルを修正しました。

upload_max_filesize = 10M
post_max_size = 10M

あとは必要に応じて、php-fpmの再起動、もしくはphpコンテナを再構築してphp.iniを反映させれば完了です。

これで無事に自分で用意したバリデーションメッセージが表示されるようになりました。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

関連広告

コメント

コメントする

目次