РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
597 of 1392 menu

Правило size

Правило size проверяет, что значение поля имеет точный размер. Для строк оно проверяет количество символов, для массивов - количество элементов, для чисел - числовое значение, для файлов - размер в килобайтах. Первый и единственный параметр - требуемый размер.

Синтаксис

<?php use Illuminate\Http\Request; use Illuminate\Support\Facades\Validator; Validator::make($request->all(), [ 'field' => 'size:value' ]); ?>

Пример

Проверим, что строка ровно из 5 символов:

<?php namespace AppHttpControllers; use Illuminate\Http\Request; use Illuminate\Support\Facades\Validator; use IlluminateSupportFacadesHash; class UserController extends Controller { public function store(Request $request) { $validator = Validator::make($request->all(), [ 'name' => 'size:5' ]); if ($validator->fails()) { return response()->json(['errors' => $validator->errors()], 422); } return response()->json(['message' => 'User created successfully']); } } ?>

Пример

Проверим, что массив содержит ровно 3 элемента:

<?php namespace AppHttpControllers; use Illuminate\Http\Request; use Illuminate\Support\Facades\Validator; class PostController extends Controller { public function store(Request $request) { $validator = Validator::make($request->all(), [ 'tags' => 'size:3' ]); if ($validator->fails()) { return response()->json(['errors' => $validator->errors()], 422); } return response()->json(['message' => 'Tags are valid']); } } ?>

Пример

Проверим, что число равно 100:

<?php namespace AppHttpControllers; use Illuminate\Http\Request; use Illuminate\Support\Facades\Validator; class ProductController extends Controller { public function store(Request $request) { $validator = Validator::make($request->all(), [ 'quantity' => 'size:100' ]); if ($validator->fails()) { return response()->json(['errors' => $validator->errors()], 422); } return response()->json(['message' => 'Quantity is valid']); } } ?>

Пример

Проверим, что файл имеет размер ровно 2048 килобайт (2 МБ):

<?php namespace AppHttpControllers; use Illuminate\Http\Request; use Illuminate\Support\Facades\Validator; class FileController extends Controller { public function upload(Request $request) { $validator = Validator::make($request->all(), [ 'image' => 'size:2048' ]); if ($validator->fails()) { return response()->json(['errors' => $validator->errors()], 422); } return response()->json(['message' => 'File size is valid']); } } ?>

Пример

Использование правила size в FormRequest:

<?php namespace AppHttpRequests; use IlluminateFoundationHttpFormRequest; class ArticleRequest extends FormRequest { public function authorize(): bool { return true; } public function rules(): array { return [ 'title' => 'required|size:10', 'content' => 'required|size:50', 'views' => 'size:0' ]; } public function messages(): array { return [ 'title.size' => 'The title must be exactly 10 characters.', 'content.size' => 'The content must be exactly 50 characters.', 'views.size' => 'The views must be exactly 0.' ]; } } ?>

Пример

Проверим на практике с использованием контроллера:

<?php namespace AppHttpControllers; use AppHttpRequestsCommentRequest; use AppModelsComment; use IlluminateHttpJsonResponse; class CommentController extends Controller { public function store(CommentRequest $request): JsonResponse { $data = $request->validated(); $comment = Comment::create($data); return response()->json([ 'message' => 'Comment created successfully', 'comment' => $comment ], 201); } } ?>

Результат выполнения кода при валидных данных:

{ "message": "Comment created successfully", "comment": { "id": 1, "text": "abcde", "updated_at": "2026-09-07T10:30:00.000000Z", "created_at": "2026-09-07T10:30:00.000000Z" } }

Смотрите также

  • правило min,
    которое проверяет минимальный размер
  • правило max,
    которое проверяет максимальный размер
  • правило between,
    которое проверяет размер в диапазоне
  • правило digits,
    которое проверяет точное количество цифр в числе
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить