У меня есть поле DateTime в форме, которую я хочу дать маске формата "гггг-мм-дд'т'хч: мм: сс.SSSXXX", чтобы получить такую дату: "2016-03-23T17: 23 : 40,364 + 01: 00" . Это не работает, symfony возвращает мне ошибку "дата рождения": {"ошибки": ["Это значение недопустимо."]}
Когда я проверяю эту маску "гггг-ММ-дд 'T'HH: mm: ss "со следующей датой" 2016-03-23T17: 23: 40 "работает, но как только я добавляю Fractional Second SSS и зону XXX, он больше не работает.
Я использую следующий код в своем FormType:
use App\Model\Customer;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\Extension\Core\Type\DateTimeType;
use Symfony\Component\Form\Extension\Core\Type\TextType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\OptionsResolver\OptionsResolver;
class CustomerType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('lastname', TextType::class)
->add('firstname', TextType::class)
->add('birthdate', DateTimeType::class, array(
'widget' => 'single_text',
'format' => "yyyy-MM-dd'T'HH:mm:ss.SSSXXX",
))
;
}
public function configureOptions(OptionsResolver $resolver)
{
$resolver->setDefaults([
'data_class' => Customer::class,
'csrf_protection' => false,
]);
}
}
Спасибо за вашу помощь