没有错误的symfony2表单无效

没有错误的symfony2表单无效,symfony,Symfony,我的控制器中有以下代码扩展BaseController,这似乎不起作用,但我看不到一个像样的错误: $responseFormatter = $this->getResponseFormatter(); $entity = new POI(); $form = $this->createForm(new POIType(), $entity); $form->handleRequest($request); if ($form->i

我的控制器中有以下代码扩展BaseController,这似乎不起作用,但我看不到一个像样的错误:

    $responseFormatter = $this->getResponseFormatter();
    $entity = new POI();
    $form = $this->createForm(new POIType(), $entity);
    $form->handleRequest($request);
    if ($form->isValid()) {
        $em = $this->getDoctrine()->getManager();
        $em->persist($entity);
        $em->flush();

        return $responseFormatter->successfullResponseFormat($entity)->getResponse();
    }

    $errors = $this->formErrorFormatter($form);

    return $responseFormatter->badResponseFormat('entity.error', $errors)->getResponse();
我甚至尝试了$form->getErrors(true),在我返回时它是空的,所以这篇文章()并没有解决我的问题

谢谢

请试试这个

$responseFormatter = $this->getResponseFormatter();
    $entity = new POI();
    $form = $this->createForm(new POIType(), $entity);
    $form->handleRequest($request);

    $form->isValid();
    $form->getErrorsAsString();
    exit;

    if ($form->isValid()) {
        $em = $this->getDoctrine()->getManager();
        $em->persist($entity);
        $em->flush();

        return $responseFormatter->successfullResponseFormat($entity)->getResponse();
    }

    $errors = $this->formErrorFormatter($form);

    return $responseFormatter->badResponseFormat('entity.error', $errors)->getResponse();

如果验证过程中出现任何错误消息,我希望getErrorsAsString()函数显示错误。

这些也可能是无效的原因之一

第一:方法无效

里面`

表单提交状态为false

这会使您的表单无法提交。如果表单的状态为未提交,则该表单也将无效。不仅
错误
使您的表单
无效
。下面的代码演示了它

内部功能

或者你在模板中忘记了

{{ form_start(form) }}

如果没有,您是如何呈现表单的?

此函数已被弃用,并且不会再有错误
public function isValid()
{
    if (!$this->submitted) {
        return false;
    }

    if ($this->isDisabled()) {
        return true;
    }

    if (count($this->getErrors(true)) > 0) {
        return false;
    }

    return true;
}
{{ form_start(form) }}