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

Правило Time

Правило Time вешается на поле формы и проверяет, что введённое значение является корректным временем. Первым параметром передаётся сообщение об ошибке, которое показывается пользователю при неудачной валидации. Правило поддерживает форматы H:i:s и H:i.

Синтаксис

new Time(message: message)

Пример

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

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

Пример

Давайте отправим корректное время '14:30:00' и проверим форму:

<?php namespace AppController; use AppFormArticleType; use SymfonyBundleFrameworkBundleControllerAbstractController; use SymfonyComponentHttpFoundationRequest; use SymfonyComponentHttpFoundationResponse; use SymfonyComponentRoutingAttributeRoute; class ArticleController extends AbstractController { #[Route('/article', name: 'article_index')] public function index(Request $request): Response { $form = $this->createForm(ArticleType::class); $form->submit(['time' => '14:30:00']); if ($form->isValid()) { return new Response('valid'); } return new Response('invalid'); } } ?>

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

"valid"

Пример

Давайте отправим некорректное время '25:99' и проверим форму:

<?php namespace AppController; use AppFormArticleType; use SymfonyBundleFrameworkBundleControllerAbstractController; use SymfonyComponentHttpFoundationRequest; use SymfonyComponentHttpFoundationResponse; use SymfonyComponentRoutingAttributeRoute; class ArticleController extends AbstractController { #[Route('/article', name: 'article_index')] public function index(Request $request): Response { $form = $this->createForm(ArticleType::class); $form->submit(['time' => '25:99']); if ($form->isValid()) { return new Response('valid'); } return new Response('invalid'); } } ?>

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

"invalid"

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

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