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

Правило lte

Правило lte предназначено для валидации числовых значений и дат. Оно проверяет, что значение поля меньше или равно указанному порогу. Правило принимает один параметр - числовое значение или имя другого поля для сравнения. Для проверки на "меньше" используется правило lt, а на "больше или равно" - gte.

Синтаксис

Правило передаётся в виде строки с параметром через двоеточие:

<?php 'lte:10' ?>

Также можно передать имя другого поля для сравнения:

<?php 'lte:max_value' ?>

Пример

Создадим запрос на валидацию, где поле 'age' должно быть меньше или равно 18:

<?php namespace AppHttpControllers; use IlluminateHttpRequest; use IlluminateSupportFacadesValidator; class UserController extends Controller { public function store(Request $request) { $data = $request->all(); $validator = Validator::make($data, [ 'age' => 'required|lte:18', ]); if ($validator->fails()) { return response()->json($validator->errors(), 422); } return response()->json(['message' => 'Validation passed']); } } ?>

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

{ "age": [ "The age must be less than or equal to 18." ] }

При передаче значения 18 валидация проходит успешно.

Пример

Рассмотрим сравнение с другим полем. Поле 'start_age' должно быть меньше или равно полю 'end_age':

<?php namespace AppHttpControllers; use IlluminateHttpRequest; use IlluminateSupportFacadesValidator; class AgeController extends Controller { public function store(Request $request) { $data = $request->all(); $validator = Validator::make($data, [ 'start_age' => 'required|lte:end_age', 'end_age' => 'required|integer', ]); if ($validator->fails()) { return response()->json($validator->errors(), 422); } return response()->json(['message' => 'Validation passed']); } } ?>

Результат выполнения кода при передаче значений 25 для 'start_age' и 20 для 'end_age':

{ "start_age": [ "The start age must be less than or equal to end age." ] }

Пример

Правило lte также работает с датами. Проверим, что дата начала не позже даты окончания:

<?php namespace AppHttpControllers; use IlluminateHttpRequest; use IlluminateSupportFacadesValidator; class EventController extends Controller { public function store(Request $request) { $data = $request->all(); $validator = Validator::make($data, [ 'start_date' => 'required|date|lte:end_date', 'end_date' => 'required|date', ]); if ($validator->fails()) { return response()->json($validator->errors(), 422); } return response()->json(['message' => 'Validation passed']); } } ?>

Результат выполнения кода при передаче дат '2025-01-01' для 'start_date' и '2024-12-31' для 'end_date':

{ "start_date": [ "The start date must be less than or equal to end date." ] }

Пример

Использование правила lte в Form Request. Создадим отдельный класс запроса для валидации:

<?php namespace AppHttpRequests; use IlluminateFoundationHttpFormRequest; class DiscountRequest extends FormRequest { public function authorize() { return true; } public function rules() { return [ 'discount' => 'required|integer|lte:100', 'min_order' => 'required|integer|lte:max_order', 'max_order' => 'required|integer', ]; } } ?>

Теперь в контроллере можно использовать этот запрос для автоматической валидации:

<?php namespace AppHttpControllers; use AppHttpRequestsDiscountRequest; class DiscountController extends Controller { public function store(DiscountRequest $request) { return response()->json(['message' => 'Discount saved']); } } ?>

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

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