Symfony2 表单验证

发布于 2024-12-05 02:37:36 字数 872 浏览 1 评论 0原文

在我的实体中,我有一个像这样的字段:

/**
 * @var decimal $Size
 *
 * @ORM\Column(name="Size", type="decimal", scale="2")
 * @Assert\NotBlank()
 * @Assert\Type(type="numeric")
 */
private $Size;

但是当我在创建表单中键入一个字符串(例如“foo”)时,函数bindRequest会抛出:

Expected argument of type "numeric", "boolean" given
500 Internal Server Error - UnexpectedTypeException

控制器代码是:

$request = $this->get('request');
if ($request->getMethod() == 'POST')
{           
     $form->bindRequest($request);   
     if ($form->isValid())
     {
         $em = $this->getDoctrine()->getEntityManager();
         $em->persist($support);
         $em->flush();

         return $this->redirect($this->generateUrl('mediatheque_support_' . $shortcut . '_list'));
      }
 }

有什么想法吗?

谢谢

In my entity, I have a field like :

/**
 * @var decimal $Size
 *
 * @ORM\Column(name="Size", type="decimal", scale="2")
 * @Assert\NotBlank()
 * @Assert\Type(type="numeric")
 */
private $Size;

But when I type a string, like 'foo' in the creation form, the function bindRequest throws :

Expected argument of type "numeric", "boolean" given
500 Internal Server Error - UnexpectedTypeException

The controller code is :

$request = $this->get('request');
if ($request->getMethod() == 'POST')
{           
     $form->bindRequest($request);   
     if ($form->isValid())
     {
         $em = $this->getDoctrine()->getEntityManager();
         $em->persist($support);
         $em->flush();

         return $this->redirect($this->generateUrl('mediatheque_support_' . $shortcut . '_list'));
      }
 }

Any ideas ?

Thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

烟酒忠诚 2024-12-12 02:37:36

您确定这不是预期的行为吗?您正在断言类型“numeric”并提供字符串“foo”...错误消息有点误导,但是说提供了“boolean”

Are you sure that isn't the expected behavior? You're Asserting a type "numeric" and providing a string "foo"... the error message is a little misleading however saying "boolean" provided

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文