- バリデーションルールの作成:
まず、画像の最大サイズを検証するためのバリデーションルールを作成します。
App\Http\Requests
ディレクトリ内に新しいリクエストクラスを作成し、以下のようにルールを定義します。
namespace App\Http\Requests;
use Illuminate\Foundation\Http\FormRequest;
class ImageUploadRequest extends FormRequest
{
public function rules()
{
return [
'image' => 'max:2048', // 最大サイズは2MB (2048KB)
];
}
}
上記の例では、image
フィールドの最大サイズを2MBに制限しています。
- コントローラでバリデーションを実行: 次に、作成したバリデーションルールを使用して、画像の最大サイズを検証します。これは、コントローラのメソッド内で行います。以下に例を示します。
namespace App\Http\Controllers;
use App\Http\Requests\ImageUploadRequest;
use Illuminate\Http\Request;
class ImageController extends Controller
{
public function upload(ImageUploadRequest $request)
{
// バリデーションを通過した場合の処理
// 画像のアップロードなどの操作を行う
}
}
上記の例では、upload
メソッド内でImageUploadRequest
を型指定しています。これにより、リクエストがバリデーションルールに合致しない場合は自動的にエラーレスポンスが返されます。
これで、Laravelで画像の最大サイズ検証を行う準備が整いました。以上の手順に従って実装することで、アップロードされる画像のサイズを制限することができます。