src/App/Form/Type/TextareaCounterType.php line 15

Open in your IDE?
  1. <?php
  2. namespace App\Form\Type;
  3. use Symfony\Component\Form\AbstractType;
  4. use Symfony\Component\Form\Extension\Core\Type\TextareaType;
  5. use Symfony\Component\Form\FormInterface;
  6. use Symfony\Component\Form\FormView;
  7. use Symfony\Component\OptionsResolver\OptionsResolver;
  8. /**
  9.  * Class TextareaCounterType
  10.  * @package App\Form\Type
  11.  */
  12. final class TextareaCounterType extends AbstractType
  13. {
  14.     /**
  15.      * {@inheritDoc}
  16.      */
  17.     public function buildView(FormView $viewFormInterface $form, array $options)
  18.     {
  19.         $view->vars['limit'] = $options['limit'] ?: 0;
  20.         $view->vars['limit_help'] = $options['limit_help'] ?? null;
  21.     }
  22.     /**
  23.      * {@inheritDoc}
  24.      */
  25.     public function configureOptions(OptionsResolver $resolver)
  26.     {
  27.         $resolver->setRequired('limit');
  28.         $resolver->setAllowedTypes('limit''int');
  29.         $resolver->setDefined('limit_help');
  30.     }
  31.     /**
  32.      * {@inheritDoc}
  33.      */
  34.     public function getParent(): ?string
  35.     {
  36.         return TextareaType::class;
  37.     }
  38. }