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

Правило Date

Правило Date относится к секции form и проверяет, что значение поля является корректной датой. Правило вешается на поле формы через опцию constraints. Первым параметром передаётся сообщение об ошибке, которое будет показано пользователю, если значение не является датой.

Синтаксис

new Date( message: 'error message', format: 'Y-m-d' )

Пример

Давайте создадим форму с полем date и повесим на него правило Date:

<?php namespace AppForm; use SymfonyComponentFormAbstractType; use SymfonyComponentFormFormBuilderInterface; use SymfonyComponentFormExtensionCoreTypeTextType; use SymfonyComponentValidatorConstraintsDate; use SymfonyComponentOptionsResolverOptionsResolver; class ArticleType extends AbstractType { public function buildForm(FormBuilderInterface $builder, array $options): void { $builder->add('date', TextType::class, [ 'constraints' => [ new Date([ 'message' => 'Please enter a valid date.', ]), ], ]); } public function configureOptions(OptionsResolver $resolver): void { $resolver->setDefaults([ 'data_class' => null, ]); } } ?>

Пример

Давайте проверим, как правило реагирует на корректное значение '2026-09-14':

<?php use SymfonyComponentValidatorValidation; use SymfonyComponentValidatorConstraintsDate; $validator = Validation::createValidator(); $constraint = new Date([ 'message' => 'Please enter a valid date.', ]); $errors = $validator->validate('2026-09-14', $constraint); echo count($errors); ?>

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

0

Пример

Давайте проверим, как правило реагирует на некорректное значение 'abcde':

<?php use SymfonyComponentValidatorValidation; use SymfonyComponentValidatorConstraintsDate; $validator = Validation::createValidator(); $constraint = new Date([ 'message' => 'Please enter a valid date.', ]); $errors = $validator->validate('abcde', $constraint); echo $errors[0]->getMessage(); ?>

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

"Please enter a valid date."

Пример

Давайте зададим собственный формат даты 'd.m.Y' через опцию format:

<?php use SymfonyComponentValidatorValidation; use SymfonyComponentValidatorConstraintsDate; $validator = Validation::createValidator(); $constraint = new Date([ 'message' => 'Please enter a valid date.', 'format' => 'd.m.Y', ]); $errors = $validator->validate('14.09.2026', $constraint); echo count($errors); ?>

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

0

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

  • правило DateTime,
    которое проверяет дату и время
  • правило Time,
    которое проверяет время
  • поле DateType,
    которое создаёт поле для выбора даты
  • поле DateTimeType,
    которое создаёт поле для выбора даты и времени
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить