无法在 Sf2 上的电子邮件字段上自定义错误消息

问题描述 投票:0回答:2

我修改我的代码以遵循@Stony 的建议。

我想自定义我的电子邮件输入错误。我尝试遵循 symfony2 教程,但它不起作用。

我按照 symfony 验证教程创建了 yml 文件,但是当我用错误的地址填充电子邮件字段时,错误显示仍然是 symfony 默认错误而不是我的自定义消息...

/**
 *
 * @Route("/info")
 */
class InfoController extends BaseController
{
    public function contactusAction(Request $request)
    {   
    $constraint = new Collection(array('email' => new Email(array('message' => 'Adresse email invalide')),));

    $contact = new ContactUs(); 
    $form = $this->createFormBuilder($contact)
        ->add('nom', 'text')
        ->add('mail', 'email')
        ->add('sujet', 'choice', array('choices' => array('pt' => 'Problemes techniques', 'bi' => 'Boite a idees', 'd' => 'Divers')))
        ->add('msg', 'textarea')
        ->getForm();
    }
}

这是我的看法

<form action="" method="post" {{ form_enctype(form) }} class="contactus">
        {{ form_errors(form) }}
        <div>
            {{ form_label(form.nom, 'Nom : ') }}
            {{ form_errors(form.nom) }}
            {{ form_widget(form.nom) }}
            </div>
            <div>
            {{ form_label(form.mail, 'Email : ') }}
            {{ form_errors(form.mail) }}
            {{ form_widget(form.mail) }}
            </div>
        <div>
            {{ form_label(form.sujet, 'Sujet : ') }}
            {{ form_errors(form.sujet) }}
            {{ form_widget(form.sujet) }}
            </div>
        <div>
            {{ form_label(form.msg, 'Message : ') }}
            {{ form_errors(form.msg) }}
            {{ form_widget(form.msg) }}
            </div>
        <input type="submit" value="Envoyer" />
        {{ form_rest(form) }}
    </form>

这是我的 yml 文件

PROJECT\CoreBundle\Entity\ContactUs:
    properties:
        mail:
            - Email:
                message: Adresse email invalide.
php symfony oop symfony2
2个回答
0
投票

我认为错误信息很清楚:

$form = $this->createFormBuilder($contact, array('constraints' => $constraint))

没有第二个选择

constraint
。我不知道你的目标是什么,但这不是正确的方法。

如果您想要一些验证,您应该查看教程中的创建表单类。在那里您可以看到如何定义 Form 和 Type 类以及如何在字段上设置 validation

更多信息:验证


0
投票

使用 constraints

 字段上的 
mail
 选项而不是表单本身。

对于 Symfony 2.0 使用 this

© www.soinside.com 2019 - 2024. All rights reserved.