1

对于我的联系表格,不会显示任何表格错误。

    $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

4

1 回答 1

5

您能否确认验证正在使用此:

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

表格是否张贴得很好?

HTML 中是否有任何内容显示您调用 {{ form_errors(form) }} 的位置?- 如果是这种情况,那将是 CSS 或 JS 问题...

您是否尝试按字段显示错误(显然您的验证中没有全局错误):

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

备注:form.firstName有效,而不是form.first_name。你必须遵循 Doctrine2/Symfony2 的约定。

于 2012-12-11T11:40:18.280 回答