-->

表不显示在模板形式错误(Form does not display form errors in t

2019-08-03 21:03发布

对于我的联系形式显示任何形式的错误。

    $contact = new Contact();

    $form = $this->createForm(new ContactFormType(), $contact);

    /* handle contact form submission */
    if ('POST' == $request->getMethod()) {
        $form->bindRequest($request);

        if ($form->isValid()) {
            //Do something
        }
    }

    return $this->render('MainBundle:Default:contact.html.twig', array(
                'form' => $form->createView()
    ));

我的验证

Fc\MainBundle\Entity\Contact:
    properties:
        firstName:
            - NotBlank: ~

        lastName:
            - NotBlank: ~

        email:
            - NotBlank: ~
            - Email:
                checkMX: true
        title:
            - NotBlank: ~
        message:
            - NotBlank: ~

我添加了一个novalidate属性到我的表单标签,检查我的验证工作。 现在,当我提出用空的数据没有任何形式发生(用正确的数据,一切都很好),控制器识别表单无效,并停止进一步处理。

在我所说的模板

 {{ form_errors(form) }}

但什么也不显示。 任何想法,为什么? 我使用的symfony的2.1.x

Answer 1:

你能否证实确认正在与此:

if ($form->isValid()) {
//Do something
}
else
{ die('not valid') }

的形式以及贴?

有没有在HTML任何显示出来,你叫{{form_errors(表)}}? - 这将是一个CSS或JS的问题,如果是这样的话...

你有没有试图通过显示领域的错误(没有在您的验证没有全球性的错误显然):

{{ form_errors(form.firstName) }}
etc.

备注:form.firstName工作,不form.first_name。 你必须遵循与Doctrine2 / Symfony2的那个约定。



文章来源: Form does not display form errors in template