Як обирати групи валідації, засновані на натиснутій кнопці
Дата оновлення перекладу 2023-09-04
Як обирати групи валідації, засновані на натиснутій кнопці
Коли ваша форма містить декілька кнопок відправлення, ви можете змінювати групу валідації, в залежності від того, яка кнопка була використана для відправки форми. Наприклад, розгляньте форму у мастері, яка дозволяє вам перейти до наступного кроку або повернутися до попереднього. Також припустіть, що при поверненні до попереднього кроку, дані з форми повинні бути збережені, але не валідовані.
Спочатку нам потрібно додати у форму дві кнопки:
1 2 3 4 5
$form = $this->createFormBuilder($task)
// ...
->add('nextStep', SubmitType::class)
->add('previousStep', SubmitType::class)
->getForm();
Потім, ми конфігуруємо кнопку для повернення до попереднього кроку так, щоб
вона запускала певні групи валідації. У цьому прикладі, ми хочемо, щоб вона
стримувала валідацію, так що ми встановлюємо опцію validation_groups
як
"false":
1 2 3 4 5 6
$form = $this->createFormBuilder($task)
// ...
->add('previousStep', SubmitType::class, array(
'validation_groups' => false,
))
->getForm();
Тепер форма пропускатиме ваші обмеження валідації. Вона буде все ще валідувати базові обмеження цілісності, на кшталт перевірки розміру завантаженого файлу або відправки тексту у цифровому полі.
See also
Щоб побачити, як використовувати сервіс для динамічного розвʼязання
validation_groups
, прочитайте статтю Як динамічно конфігурувати групи валідації форм.