1
我需要在Symfony2應用程序的多個地方輸入一對日期和時間。爲了實現這一點,我創建了一個custom_datetime
表單類型。我想確定是否需要time
,如果整個custom_datetime標記爲required
,則需要保留date
。將單個字段的「必需」信息傳遞給複合Symfony2表單
class DateTime extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('date', 'text', [
'attr' => ['required' => true] // Here I maybe should inherit what is passed by the parent form
])
->add('time', 'text', [
'attr' => ['required' => $options['time_required']]
])
;
}
public function setDefaultOptions(OptionsResolverInterface $resolver)
{
$resolver->setDefaults(array(
'time_required' => false
));
}
public function getName()
{
return 'custom_datetime';
}
}
custom_datetime
然後通過其他形式。目前我使用這樣的:
// date should be entered, time should not -- this does not currently work
$builder->add('dt', 'custom_datetime', ['required' => true, 'time_required' => false]);
// date + time should be entered
$builder->add('dt', 'custom_datetime', ['required' => true, 'time_required' => true]);
// neither of date or time is required
$builder->add('dt', 'custom_datetime', ['required' => false]);
不幸的是,time
場時,當以HTML格式呈現所需要的屬性。
應該怎麼做才能讓父表格custom_datetime
通過有關時間字段的「必需」信息?
感謝您的回答......正要測試和確認。簡單......這是各種經驗法則,特別是在編程方面。 ;) –
是的,這絕對解決了我的問題。再次感謝你。 –