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

Правило LessThan

Правило LessThan используется в формах Symfony для валидации числовых значений. Оно гарантирует, что значение поля меньше указанного числа. Первым параметром передаётся число, с которым сравнивается значение поля. Правило можно применять как к числам, так и к датам.

Синтаксис

#[LessThan(value: number, message: 'text')]

Пример

Давайте создадим простую форму с полем age и применим к нему правило LessThan, чтобы значение было меньше 100:

<?php namespace AppForm; use SymfonyComponentFormAbstractType; use SymfonyComponentFormFormBuilderInterface; use SymfonyComponentFormExtensionCoreTypeIntegerType; use SymfonyComponentOptionsResolverOptionsResolver; use SymfonyComponentValidatorConstraintsLessThan; class UserType extends AbstractType { public function buildForm(FormBuilderInterface $builder, array $options): void { $builder->add('age', IntegerType::class, [ 'constraints' => [ new LessThan(100), ], ]); } public function configureOptions(OptionsResolver $resolver): void { $resolver->setDefaults([ 'data_class' => null, ]); } } ?>

Если пользователь введёт число 150, форма не пройдёт валидацию, и появится сообщение об ошибке.

Пример

Давайте изменим сообщение об ошибке с помощью параметра message:

<?php namespace AppForm; use SymfonyComponentFormAbstractType; use SymfonyComponentFormFormBuilderInterface; use SymfonyComponentFormExtensionCoreTypeIntegerType; use SymfonyComponentOptionsResolverOptionsResolver; use SymfonyComponentValidatorConstraintsLessThan; class UserType extends AbstractType { public function buildForm(FormBuilderInterface $builder, array $options): void { $builder->add('age', IntegerType::class, [ 'constraints' => [ new LessThan([ 'value' => 100, 'message' => 'The age must be less than {{ compared_value }}.', ]), ], ]); } public function configureOptions(OptionsResolver $resolver): void { $resolver->setDefaults([ 'data_class' => null, ]); } } ?>

Теперь при вводе значения 150 пользователь увидит сообщение: "The age must be less than 100.".

Пример

Правило LessThan также можно применять к датам. Давайте создадим форму с полем date и потребуем, чтобы дата была меньше '2025-01-01':

<?php namespace AppForm; use SymfonyComponentFormAbstractType; use SymfonyComponentFormFormBuilderInterface; use SymfonyComponentFormExtensionCoreTypeDateType; use SymfonyComponentOptionsResolverOptionsResolver; use SymfonyComponentValidatorConstraintsLessThan; class EventType extends AbstractType { public function buildForm(FormBuilderInterface $builder, array $options): void { $builder->add('date', DateType::class, [ 'constraints' => [ new LessThan('2025-01-01'), ], ]); } public function configureOptions(OptionsResolver $resolver): void { $resolver->setDefaults([ 'data_class' => null, ]); } } ?>

Если пользователь выберет дату '2025-06-15', форма не пройдёт валидацию.

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

  • правило GreaterThan,
    которое проверяет, что значение больше заданного
  • правило LessThanOrEqual,
    которое проверяет, что значение меньше или равно заданному
  • правило Range,
    которое проверяет, что значение входит в диапазон
  • правило Positive,
    которое проверяет, что значение положительное
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить