9

我正在关注 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()));
    }

我从这个话题中得到了错误。

No default option is configured for constraint Symfony\Component\Validator\Constraints\DateTime

它可以是什么?如何解决?我严格按照书中的例子。

4

2 回答 2

29

这个:

$task->setDueDate(new DateTime('tomorrow'));

应该:

$task->setDueDate(new \DateTime('tomorrow'));

注意日期时间之前的正斜杠。检查您的“使用”声明,您可能已导入并正在使用“Symfony\Component\Validator\Constraints\DateTime”类

于 2014-01-27T17:23:55.000 回答
1

http://symfony.com/doc/current/reference/forms/types/date.html

我不确定,但是在这个文档之后,基本用法是:

$builder->add('publishedAt', 'date', array(
    'input'  => 'datetime',
    'widget' => 'choice',
));

或者

$builder->add('publishedAt', 'date', array(
    'input'  => 'timestamp',
    'widget' => 'choice',
));

也许您应该尝试在

'日期'

于 2013-10-07T21:09:22.697 回答