РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
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 для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить