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

Правило Iban

Правило Iban относится к классу Symfony\Component\Validator\Constraints\Iban и вешается на поле формы, значение которого должно быть корректным номером международного банковского счёта IBAN. При валидации Symfony проверяет длину строки, соответствие формату страны и контрольную сумму. Первым параметром можно передать текст сообщения об ошибке, а также задать опции message и groups.

Синтаксис

new Iban( message: 'Invalid IBAN', groups: ['registration'] )

Пример

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

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

Пример

Давайте обработаем форму в контроллере и выведем результат валидации:

<?php namespace App\Controller; use App\Form\PaymentType; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\Routing\Attribute\Route; class PaymentController extends AbstractController { #[Route('/payment', name: 'payment')] public function index(Request $request): Response { $form = $this->createForm(PaymentType::class); $form->handleRequest($request); if ($form->isSubmitted() && $form->isValid()) { $data = $form->getData(); return new Response('IBAN: ' . $data['iban']); } return $this->render('payment/index.html.twig', [ 'form' => $form, ]); } } ?>

Пример

Давайте выведем форму в шаблоне Twig:

{{ form_start(form) }} {{ form_row(form.iban) }} {{ form_row(form.save) }} {{ form_end(form) }}

Пример

Если ввести корректный IBAN, форма пройдёт валидацию:

"IBAN: DE89370400440532013000"

Если ввести некорректный IBAN, форма вернёт ошибку "Invalid IBAN".

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

  • правило Bic,
    которое проверяет код банка BIC
  • правило Regex,
    которое проверяет строку по регулярному выражению
  • правило NotBlank,
    которое проверяет, что поле не пустое
  • метод isValid,
    который проверяет, прошла ли форма валидацию
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить