<?php
namespace App\Form\Type;
use App\Entity\Location;
use Symfony\Bridge\Doctrine\Form\Type\EntityType;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\Extension\Core\Type\EmailType;
use Symfony\Component\Form\Extension\Core\Type\TextareaType;
use Symfony\Component\Form\Extension\Core\Type\TextType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\OptionsResolver\OptionsResolver;
use Symfony\Component\Validator\Constraints\Email;
use Symfony\Component\Validator\Constraints\NotBlank;
use Symfony\Component\Validator\Constraints\Regex;
/**
* @author Kazuyuki Hayashi <kaz@noop.co.jp>
*/
class ContactType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('name', TextType::class, [
'constraints' => [new NotBlank(['message' => '名前を入力してください。'])],
'attr' => [
'class' => 'text',
],
])
->add('tel', TextType::class, [
'constraints' => [
new NotBlank(['message' => '電話番号を入力してください。']),
new Regex(['message' => '電話番号を半角数字のみで入力してください', 'pattern' => '/^[0-9]+$/'])
],
'attr' => [
'class' => 'text',
],
])
->add('email', EmailType::class, [
'constraints' => [new NotBlank(), new Email()],
'attr' => [
'class' => 'text',
],
])
->add('content', TextareaType::class, [
'constraints' => [new NotBlank(['message' => '本文を入力してください。'])],
'attr' => [
'class' => 'textbox',
],
])
;
}
public function configureOptions(OptionsResolver $resolver)
{
$resolver->setDefaults([
// 'data_class' =>
]);
}
}