src/Form/AddressBookType.php line 14

Open in your IDE?
  1. <?php
  2. namespace App\Form;
  3. use App\Entity\AddressBook;
  4. use App\Service\TextResolverService;
  5. use Symfony\Component\Form\AbstractType;
  6. use Symfony\Component\Form\Extension\Core\Type\ChoiceType;
  7. use Symfony\Component\Form\Extension\Core\Type\IntegerType;
  8. use Symfony\Component\Form\Extension\Core\Type\TextType;
  9. use Symfony\Component\Form\FormBuilderInterface;
  10. use Symfony\Component\OptionsResolver\OptionsResolver;
  11. class AddressBookType extends AbstractType {
  12.     /** @var TextResolverService */
  13.     protected $textResolverService;
  14.     public function __construct(TextResolverService $textResolverService) {
  15.         $this->textResolverService $textResolverService;
  16.     }
  17.     public function buildForm(FormBuilderInterface $builder, array $options): void {
  18.         $builder
  19.             ->add('street'TextType::class, [
  20.                 'required' => true,
  21.                 'label' => 'Straße',
  22.             ])
  23.             ->add('houseNumber'TextType::class, [
  24.                 'required' => true,
  25.                 'label' => 'Hausnummer',
  26.             ])
  27.             ->add('zip'TextType::class, [
  28.                 'required' => true,
  29.                 'label' => 'PLZ',
  30.             ])
  31.             ->add('city'TextType::class, [
  32.                 'required' => true,
  33.                 'label' => 'Stadt',
  34.             ])
  35.             ->add('state'ChoiceType::class, [
  36.                 'choices' => [
  37.                     'Schleswig-Holstein' => '01',
  38.                     'Hamburg' => '02',
  39.                     'Niedersachsen' => '03',
  40.                     'Bremen' => '04',
  41.                     'Nordrhein-Westfalen' => '05',
  42.                     'Hessen' => '06',
  43.                     'Rheinland-Pfalz' => '07',
  44.                     'Baden-Württemberg' => '08',
  45.                     'Bayern' => '09',
  46.                     'Saarland' => '10',
  47.                     'Berlin' => '11',
  48.                     'Brandenburg' => '12',
  49.                     'Mecklenburg-Vorpommern' => '13',
  50.                     'Sachsen' => '14',
  51.                     'Sachsen-Anhalt' => '15',
  52.                     'Thüringen' => '16',
  53.                 ],
  54.                 'required' => true,
  55.             ])
  56.             ->add('phoneNumber'TextType::class, [
  57.                 'required' => false,
  58.                 'label' => 'Telefonnummer',
  59.             ])
  60.             ->add('ikNumber'IntegerType::class, [
  61.                 'required' => false,
  62.                 'label' => 'IK Nummer',
  63.             ])
  64.             ->add('customerNumber'TextType::class, [
  65.                 'required' => false,
  66.                 'label' => 'Kundennummer',
  67.             ])
  68.         ;
  69.     }
  70.     public function configureOptions(OptionsResolver $resolver): void {
  71.         $resolver->setDefaults([
  72.             'data_class' => AddressBook::class,
  73.         ]);
  74.     }
  75. }