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

Правило Bic

Правило Bic относится к ограничениям валидации Symfony и вешается на поле формы или свойство сущности. Оно проверяет, что переданное значение является корректным BIC-кодом банка (Bank Identifier Code). BIC состоит из 8 или 11 символов: четырёх букв кода банка, двух букв кода страны, двух буквенно-цифровых символов кода локации и, опционально, трёх буквенно-цифровых символов кода филиала. Правило можно использовать как в виде атрибута, так и в виде элемента массива опций поля формы.

Синтаксис

#[Bic( message: 'text', groups: ['group'] )]

Пример

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

<?php namespace App\Form; use Symfony\Component\Form\AbstractType; use Symfony\Component\Form\Extension\Core\Type\TextType; use Symfony\Component\Form\FormBuilderInterface; use Symfony\Component\OptionsResolver\OptionsResolver; use Symfony\Component\Validator\Constraints\Bic; class ArticleType extends AbstractType { public function buildForm(FormBuilderInterface $builder, array $options): void { $builder->add('bic', TextType::class, [ 'constraints' => [ new Bic(), ], ]); } public function configureOptions(OptionsResolver $resolver): void { $resolver->setDefaults([ 'data_class' => null, ]); } } ?>

Пример

Давайте проверим значение 'DEUTDEFF' через валидатор:

<?php namespace App\Controller; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\Routing\Attribute\Route; use Symfony\Component\Validator\Validation; use Symfony\Component\Validator\Constraints\Bic; class ArticleController extends AbstractController { #[Route('/article', name: 'article_index')] public function index(): Response { $validator = Validation::createValidator(); $res = $validator->validate('DEUTDEFF', [ new Bic(), ]); return new Response((string) count($res)); } } ?>

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

"0"

Пример

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

<?php namespace App\Controller; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\Routing\Attribute\Route; use Symfony\Component\Validator\Validation; use Symfony\Component\Validator\Constraints\Bic; class ArticleController extends AbstractController { #[Route('/article', name: 'article_index')] public function index(): Response { $validator = Validation::createValidator(); $res = $validator->validate('abcde', [ new Bic(), ]); return new Response($res[0]->getMessage()); } } ?>

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

"This value is not a valid Business Identifier Code (BIC)."

Пример

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

<?php namespace App\Form; use Symfony\Component\Form\AbstractType; use Symfony\Component\Form\Extension\Core\Type\TextType; use Symfony\Component\Form\FormBuilderInterface; use Symfony\Component\OptionsResolver\OptionsResolver; use Symfony\Component\Validator\Constraints\Bic; class ArticleType extends AbstractType { public function buildForm(FormBuilderInterface $builder, array $options): void { $builder->add('bic', TextType::class, [ 'constraints' => [ new Bic( message: 'Invalid BIC code.', ), ], ]); } public function configureOptions(OptionsResolver $resolver): void { $resolver->setDefaults([ 'data_class' => null, ]); } } ?>

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

  • правило Iban,
    которое проверяет корректность IBAN
  • правило CardScheme,
    которое проверяет номер банковской карты
  • правило Luhn,
    которое проверяет номер по алгоритму Луна
  • класс Form,
    который представляет форму в Symfony
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить