我正在关注Symfony2的教程.我正在用表格做项目.
第12章:表格| 150
我的代码:
public function newAction(Request $request)
{
$task = new Task();
$task->setTask('Find EiM group');
$task->setDueDate(new DateTime('tomorrow'));
$form = $this->createFormBuilder($task)
->add('task', 'text')
->add('dueDate', 'date')
->add('save', 'submit')
->getForm();
return $this->render('AcmeTaskBundle:Default:new.html.twig', array(
'form' => $form->createView()));
}
Run Code Online (Sandbox Code Playgroud)
我从主题中得到错误.
No default option is configured for constraint Symfony\Component\Validator\Constraints\DateTime
Run Code Online (Sandbox Code Playgroud)
它可以是什么?怎么解决?我严格遵循书中的例子.
mab*_*uza 29
这个:
$task->setDueDate(new DateTime('tomorrow'));
Run Code Online (Sandbox Code Playgroud)
应该:
$task->setDueDate(new \DateTime('tomorrow'));
Run Code Online (Sandbox Code Playgroud)
注意Datetime之前的正斜杠.检查您的"use"语句,您可能已导入并使用类'Symfony\Component\Validator\Constraints\DateTime'
http://symfony.com/doc/current/reference/forms/types/date.html
我不确定,但在本文档之后,基本用法是:
$builder->add('publishedAt', 'date', array(
'input' => 'datetime',
'widget' => 'choice',
));
Run Code Online (Sandbox Code Playgroud)
或者
$builder->add('publishedAt', 'date', array(
'input' => 'timestamp',
'widget' => 'choice',
));
Run Code Online (Sandbox Code Playgroud)
也许您应该尝试在之后插入选项数组
'日期'