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

Правило date

Правило date проверяет, что переданное значение является допустимой датой. Оно может использоваться как самостоятельно, так и в сочетании с другими правилами, например, after или before, для проверки временных диапазонов. По умолчанию правило принимает строки, которые могут быть преобразованы в дату через функцию PHP strtotime. Это означает, что поддерживаются многие распространённые форматы, такие как '2025-12-31', '31/12/2025', '31 December 2025' и другие.

Синтаксис

<?php // В массиве правил 'field' => 'date' ?>

Пример

Давайте создадим запрос валидации для поля 'birthday', которое должно содержать корректную дату:

<?php namespace App\Http\Controllers; use Illuminate\Http\Request; use Illuminate\Support\Facades\Validator; class UserController extends Controller { public function store(Request $request) { $validator = Validator::make($request->all(), [ 'birthday' => 'date' ]); if ($validator->fails()) { return response()->json($validator->errors(), 422); } // Сохранение данных... return response()->json(['message' => 'Success']); } } ?>

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

[ "birthday" => ["The birthday field must be a valid date."] ]

Результат при передаче корректной даты (например, '1990-05-15'):

[ "message" => "Success" ]

Пример

Правило date часто используется вместе с правилом after для проверки, что одна дата идёт после другой. Проверим, что поле 'start_date' является датой, и что оно идёт после сегодняшнего дня:

<?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(), [ 'start_date' => 'date|after:today' ]); if ($validator->fails()) { return response()->json($validator->errors(), 422); } return response()->json(['message' => 'Event created']); } } ?>

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

[ "start_date" => ["The start date field must be a date after today."] ]

Пример

Можно использовать правило date в сочетании с before для проверки, что дата события наступает раньше указанной даты. Проверим, что поле 'end_date' является датой, и что оно идёт до '2026-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(), [ 'end_date' => 'date|before:2026-01-01' ]); if ($validator->fails()) { return response()->json($validator->errors(), 422); } return response()->json(['message' => 'Project created']); } } ?>

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

[ "end_date" => ["The end date field must be a date before 2026-01-01."] ]

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

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