内容へ移動
ゆーものメモ帳
ユーザ用ツール
管理
ログイン
サイト用ツール
検索
ツール
文書の表示
以前のリビジョン
バックリンク
最近の変更
メディアマネージャー
サイトマップ
ログイン
>
最近の変更
メディアマネージャー
サイトマップ
トレース:
プログラム言語:php:laravel:laravel8:filemaxsize
この文書は読取専用です。文書のソースを閲覧することは可能ですが、変更はできません。もし変更したい場合は管理者に連絡してください。
====== 【Laravel】バリデーションルールの追加(make:rule) ====== ファイルアップロート時にメガバイト(MB)単位でMaxサイズバリデーションを行う。 <code:shell> # バリデーションルールの追加 php artisan make:rule ImageFileMaxSize </code> <code:php|app\Rules\ImageFileMaxSize.php> <?php namespace App\Rules; use Illuminate\Contracts\Validation\Rule; class ImageFileMaxSize implements Rule { const MAX_MB = 10; // メガバイト /** * Create a new rule instance. * * @return void */ public function __construct() { // } /** * Determine if the validation rule passes. * * @param string $attribute * @param mixed $value * @return bool */ public function passes($attribute, $value) { if (is_null($value)) { return true; } // ファイルサイズをMBに変換 $mega_bytes = $value->getSize() / 1024 / 1024; return $mega_bytes <= $this::MAX_MB; } /** * Get the validation error message. * * @return string */ public function message() { return ':attribute のサイズは' . $this::MAX_MB . 'MB以下にしてください。'; } } </code> 追加したバリデーションルールの使い方 <code:php> use App\Rules\ImageFileMaxSize; public function rules() { return [ 'file' => [ 'file', 'image', 'mimes:jpeg,jpg,png,gif', new ImageFileMaxSize, ], ]; } </code>
プログラム言語/php/laravel/laravel8/filemaxsize.txt
· 最終更新: 2022/05/12 19:08 by
humolife
ページ用ツール
文書の表示
以前のリビジョン
バックリンク
文書の先頭へ