我收到此错误消息: “类型”字符串“的预期参数,”DateTime“给出”
这是我在symfony
中的表单代码$builder->add('dateOfBirth', 'datetime', [
'widget' => 'single_text',
'label' => 'Geboortedatum',
'attr' => ['class' => 'form-control birthdaypicker'],
'label_attr' => ['class' => 'col-sm-2 control-label']
]);
这是模板:
<div class="form-group">
{{ form_label(form_pupil.dateOfBirth) }}
<div class="col-sm-10">
{{ form_widget(form_pupil.dateOfBirth) }}
<small>{{ form_errors(form_pupil.dateOfBirth) }}</small>
</div>
</div>
文件(实体)
/**
* @MongoDB\Date
* @Assert\NotBlank(message="Een geboortedatum is vereist")
* @Assert\Length(max=10, maxMessage="Een geboortedatum kan maximaal 10 karakters bevatten")
*/
protected $dateOfBirth;
在我的文档(实体)中,它也是日期类型。我不知道为什么Symfony期望一个字符串..
答案 0 :(得分:1)
@Assert\Length(max=10, maxMessage="Een geboortedatum kan maximaal 10 karakters bevatten")
无法检查日期时间对象的长度! (删除了这个断言并且有效)
答案 1 :(得分:0)
试试这个:
$builder->add('dateOfBirth', 'datetime', [
'data' => new \DateTime(),
'widget' => 'single_text',
'label' => 'Geboortedatum',
'attr' => ['class' => 'form-control birthdaypicker'],
'label_attr' => ['class' => 'col-sm-2 control-label']
]);