<?php
namespace App\Form\App;
use App\Entity\Reserve;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\Extension\Core\Type\CheckboxType;
use Symfony\Component\Form\Extension\Core\Type\ChoiceType;
use Symfony\Component\Form\Extension\Core\Type\DateType;
use Symfony\Component\Form\Extension\Core\Type\EmailType;
use Symfony\Component\Form\Extension\Core\Type\TelType;
use Symfony\Component\Form\Extension\Core\Type\TextareaType;
use Symfony\Component\Form\Extension\Core\Type\TextType;
use Symfony\Component\Form\Extension\Core\Type\TimeType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\OptionsResolver\OptionsResolver;
use Symfony\Component\Validator\Constraints\IsTrue;
class ReserveType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options): void
{
$builder
->add('lastName', TextType::class, [
'label' => false,
'attr' => ['placeholder' => '姓'],
'error_bubbling' => true,
])
->add('firstName', TextType::class, [
'label' => false,
'attr' => ['placeholder' => '名'],
'error_bubbling' => true,
])
->add('tel', TextType::class, [
'label' => false,
'attr' => ['placeholder' => '電話番号'],
'error_bubbling' => true,
])
->add('mail', EmailType::class, [
'label' => false,
'attr' => ['placeholder' => 'メールアドレス'],
'error_bubbling' => true,
])
// ->add('carModel', ChoiceType::class, [
// 'label' => false,
// 'placeholder' => '車種',
// 'error_bubbling' => true,
// 'choices' => [
// "三菱ミニキャブバン ブラボーキャンパー4WD" => "三菱ミニキャブバン ブラボーキャンパー4WD",
// "スズキエブリィ ジョインターボハイルーフ" => "スズキエブリィ ジョインターボハイルーフ",
// "ダイハツアトレーRS 車中泊セット付き" => "ダイハツアトレーRS 車中泊セット付き",
// "トヨタピクシスバン リンエイキャンピング仕様" => "トヨタピクシスバン リンエイキャンピング仕様",
// "トヨタハイエースワゴン ナッツRVトライアルB" => "トヨタハイエースワゴン ナッツRVトライアルB",
// "日産セレナ ハイウェイスター" => "日産セレナ ハイウェイスター",
// ],
// ])
// ->add('startDate', DateType::class, [
// 'label' => false,
// 'widget' => 'single_text',
// 'placeholder' => '出発日',
// 'error_bubbling' => true,
// ])
// ->add('startTime', TimeType::class, [
// 'label' => false,
// 'widget' => 'single_text',
// 'placeholder' => '出発時刻',
// 'error_bubbling' => true,
// ])
// ->add('endDate', DateType::class, [
// 'label' => false,
// 'widget' => 'single_text',
// 'placeholder' => '返却日',
// 'error_bubbling' => true,
// ])
// ->add('endTime', TimeType::class, [
// 'label' => false,
// 'widget' => 'single_text',
// 'placeholder' => '返却時刻',
// 'error_bubbling' => true,
// ])
->add('remarks', TextareaType::class, [
'label' => false,
'attr' => ['placeholder' => 'お問合せ・ご相談内容をご記入下さい。'],
])
->add('agreeTerms', CheckboxType::class, [
'mapped' => false,
'label' => false,
'constraints' => [
new IsTrue([
'message' => '利用規約に同意して下さい'
])
],
'error_bubbling' => true,
])
;
}
public function configureOptions(OptionsResolver $resolver): void
{
$resolver->setDefaults([
'data_class' => Reserve::class,
]);
}
}