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

Правило after

Правило after используется для проверки того, что значение поля является датой, которая следует после заданной даты. Это правило полезно при валидации дат событий, сроков выполнения задач, дат рождения и других временных промежутков. В качестве аргумента правило принимает строку с датой в формате, который понимает функция strtotime PHP, либо другую дату, переданную через after:another_field.

Правило можно использовать как с конкретной датой (например, after:2025-01-01), так и с именем другого поля (например, after:start_date) для сравнения двух дат между собой. Также поддерживается использование ключевого слова today, которое означает текущую дату.

Синтаксис

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

Пример

Давайте проверим, что дата события позже первого января 2025 года:

<?php namespace App\Http\Controllers; use Illuminate\Http\Request; use Illuminate\Support\Facades\Validator; class EventController extends Controller { public function store(Request $request) { $validator = Validator::make($request->all(), [ 'event_date' => 'required|date|after:2025-01-01' ]); if ($validator->fails()) { return response()->json(['errors' => $validator->errors()], 422); } return response()->json(['message' => 'Event date is valid']); } } ?>

Результат выполнения кода при передаче даты '2025-06-15':

{ "message": "Event date is valid" }

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

{ "errors": { "event_date": [ "The event date must be a date after 2025-01-01." ] } }

Пример

Давайте сравним две даты: дата окончания должна быть позже даты начала:

<?php namespace App\Http\Controllers; use Illuminate\Http\Request; use Illuminate\Support\Facades\Validator; class ProjectController extends Controller { public function store(Request $request) { $validator = Validator::make($request->all(), [ 'start_date' => 'required|date', 'end_date' => 'required|date|after:start_date' ]); if ($validator->fails()) { return response()->json(['errors' => $validator->errors()], 422); } return response()->json(['message' => 'Dates are valid']); } } ?>

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

{ "message": "Dates are valid" }

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

{ "errors": { "end_date": [ "The end date must be a date after start date." ] } }

Пример

Давайте проверим, что дата события позже текущей даты:

<?php namespace App\Http\Controllers; use Illuminate\Http\Request; use Illuminate\Support\Facades\Validator; class TaskController extends Controller { public function store(Request $request) { $validator = Validator::make($request->all(), [ 'deadline' => 'required|date|after:today' ]); if ($validator->fails()) { return response()->json(['errors' => $validator->errors()], 422); } return response()->json(['message' => 'Deadline is valid']); } } ?>

Результат выполнения кода при передаче даты '2026-12-31' (если сегодня '2026-01-15'):

{ "message": "Deadline is valid" }

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

  • правило before,
    которое проверяет, что дата предшествует указанной дате
  • правило after_or_equal,
    которое проверяет, что дата следует за указанной или равна ей
  • правило date,
    которое проверяет, что значение является корректной датой
  • правило before_or_equal,
    которое проверяет, что дата предшествует указанной или равна ей
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить