app/Customize/Form/Type/EmergencyContactType.php line 22

Open in your IDE?
  1. <?php
  2. namespace Customize\Form\Type;
  3. use Customize\Entity\EmergencyContact;
  4. use Symfony\Component\Form\AbstractType;
  5. use Symfony\Component\Form\FormBuilderInterface;
  6. use Symfony\Component\OptionsResolver\OptionsResolver;
  7. use Eccube\Form\Type\PostalType;
  8. use Eccube\Form\Type\AddressType;
  9. use Eccube\Form\Type\PhoneNumberType;
  10. use Eccube\Form\Type\NameType;
  11. use Eccube\Form\Type\KanaType;
  12. use Symfony\Component\Validator\Constraints as Assert;
  13. use Customize\Entity\Master\Relationship;
  14. use Symfony\Bridge\Doctrine\Form\Type\EntityType;
  15. use Symfony\Component\Form\Extension\Core\Type\TextType;
  16. /**
  17.  * @extends AbstractType<EmergencyContact|null>
  18.  */
  19. class EmergencyContactType extends AbstractType
  20. {
  21.     /**
  22.      * {@inheritdoc}
  23.      *
  24.      * @param FormBuilderInterface<EmergencyContact|null> $builder
  25.      * @param array<string, mixed> $options
  26.      * @return void
  27.      */
  28.     public function buildForm(FormBuilderInterface $builder, array $options)
  29.     {
  30.         $builder
  31.             ->add('name'NameType::class, [
  32.                 'required' => false,
  33.             ])
  34.             ->add('kana'KanaType::class, [
  35.                 'required' => false,
  36.             ])
  37.             ->add('postal_code'PostalType::class, [
  38.                 'required' => false,
  39.             ])
  40.             ->add('address'AddressType::class, [
  41.                 'required' => false,
  42.             ])
  43.             ->add('phone_number'PhoneNumberType::class, [
  44.                 'required' => false,
  45.                 'constraints' => [
  46.                 new Assert\Length([
  47.                     'min' => 10,
  48.                     'max' => 11,
  49.                     'minMessage' => 'form_error.phone_number_min',
  50.                     'maxMessage' => 'form_error.phone_number_max',
  51.                 ]),
  52.             ]])->add('Relationship'EntityType::class, [
  53.                 'class' => Relationship::class,
  54.                 'choice_label' => 'name',
  55.                 'required' => false,
  56.                 'expanded' => false,
  57.                 'multiple' => false,
  58.                 'placeholder' => 'common.select',
  59.             ])->add('relationship_other'TextType::class, [
  60.                 'required' => false,
  61.             ]);
  62.     }
  63.     public function configureOptions(OptionsResolver $resolver): void
  64.     {
  65.         $resolver->setDefaults([
  66.             'data_class' => EmergencyContact::class,
  67.         ]);
  68.     }
  69. }