|
15 | 15 | use Symfony\Component\Form\Extension\Core\DataMapper\PropertyPathMapper; |
16 | 16 | use Symfony\Component\Form\Extension\Core\EventListener\TrimListener; |
17 | 17 | use Symfony\Component\Form\FormBuilderInterface; |
| 18 | +use Symfony\Component\Form\FormConfigBuilderInterface; |
18 | 19 | use Symfony\Component\Form\FormInterface; |
19 | 20 | use Symfony\Component\Form\FormView; |
20 | 21 | use Symfony\Component\OptionsResolver\Options; |
@@ -58,6 +59,14 @@ public function buildForm(FormBuilderInterface $builder, array $options) |
58 | 59 | if ($options['trim']) { |
59 | 60 | $builder->addEventSubscriber(new TrimListener()); |
60 | 61 | } |
| 62 | + |
| 63 | + if (!method_exists($builder, 'setIsEmptyCallback')) { |
| 64 | + @trigger_error(sprintf('Not implementing the "%s::setIsEmptyCallback()" method in "%s" is deprecated since Symfony 5.1.', FormConfigBuilderInterface::class, \get_class($builder)), E_USER_DEPRECATED); |
| 65 | + |
| 66 | + return; |
| 67 | + } |
| 68 | + |
| 69 | + $builder->setIsEmptyCallback($options['is_empty_callback']); |
61 | 70 | } |
62 | 71 |
|
63 | 72 | /** |
@@ -190,13 +199,15 @@ public function configureOptions(OptionsResolver $resolver) |
190 | 199 | 'help_attr' => [], |
191 | 200 | 'help_html' => false, |
192 | 201 | 'help_translation_parameters' => [], |
| 202 | + 'is_empty_callback' => null, |
193 | 203 | ]); |
194 | 204 |
|
195 | 205 | $resolver->setAllowedTypes('label_attr', 'array'); |
196 | 206 | $resolver->setAllowedTypes('upload_max_size_message', ['callable']); |
197 | 207 | $resolver->setAllowedTypes('help', ['string', 'null']); |
198 | 208 | $resolver->setAllowedTypes('help_attr', 'array'); |
199 | 209 | $resolver->setAllowedTypes('help_html', 'bool'); |
| 210 | + $resolver->setAllowedTypes('is_empty_callback', ['null', 'callable']); |
200 | 211 | } |
201 | 212 |
|
202 | 213 | /** |
|
0 commit comments