'da bir denetleyicide normalleştirilmiş form verisine erişme Kullanıcının sunduğu başka bir alanın değerine bağlı olarak bir alanın varsayılan değerini ayarlamak için FormType'ım için bir form olay dinleyicisi (PRE_SUBMIT) eklemeliydim:Symofny 2
->add('time_until', datetime, [
'required' => false,
'input' => 'datetime',
'widget' => 'single_text',
'format' => 'yyyy-MM-dd HH:mm',
'label' => false,
])
sorun şu ana kadar:
//In my FormType:
public function onPreSubmit(FormEvent $event)
{
$formData = $event->getData();
if (empty($formData['time_until'])) {
$date = new \DateTime($formData['time_from']);
$date->add(new \DateInterval('PT1H'));
$formData['time_until'] = $date->format('Y-m-d H:i');
}
$event->setData($formData);
}
time_unti
anahtar datetime
tiptedir formun time_until
sahaya ayarlanır ve daha sonra değeri eşleştirilir. Ancak, ben normalize benim denetleyicisi form alanlarının değerlerine ve ben mümkün istiyorum demek "normalleştirilmiş" ile $form->handleRequest($request);
çağrısının ardından formdaki mevcut değil DateTime
nesnelere erişimi olması gerekir yapmak için:
$form->get('time_until')
ve biçimde bir dizi bilgisi 'yyyy-aA-gg SS: dd' time_until
anahtarının altında formda saklanan DateTime
nesnesi geri değil.
Tavsiyeler çok takdir edilecektir. Teşekkür ederim!
$ form-> ('time_until') almak denetleyicisi dizeyi dönecekti (ve ayrıca dizede db depolanır olacaktır) oluştururlar -> biçimi ("yyyy-AA-GG SS: DD '); – Cerad