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

Oop 无法自定义Sf2上电子邮件字段上的错误消息,oop,symfony,symfony-2.0,Oop,Symfony,Symfony 2.0,我修改代码以遵循@Stony建议 我想自定义我的电子邮件输入错误。我试着跟着这条路走,但没用 我遵循symfony验证教程,创建了我的yml文件,但当我用坏地址填充电子邮件时,错误显示仍然是symfony默认错误,而不是我的自定义消息 /** * * @Route("/info") */ class InfoController extends BaseController { public function contactusAction(Request $request)

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

我想自定义我的电子邮件输入错误。我试着跟着这条路走,但没用

我遵循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>

我认为错误信息非常清楚:

$form = $this->createFormBuilder($contact, array('constraints' => $constraint))
没有第二个选项
约束
。我不知道你的目标是什么,但这不是正确的方法

如果您需要一些验证,您应该查看教程中的。在这里,您可以看到如何定义表单和类型类以及如何设置字段

更多信息:

使用
邮件
字段上的选项,而不是表单本身


对于Symfony 2.0使用。

我尝试了添加('mail','email',array('constraints'=>$constraint'),但相同的错误消息我已经使用了本教程,我复制粘贴带有约束的行选项,但没有结果=/我找到了一些链接,但是我在哪里调用addEmailFunction呢?您可以找到行,因此约束选项存在,但它在我的代码中不起作用;)与验证相同;)约束以另一种方式使用。使用yml文件或约束类。最简单的方法是创建一个验证类并使用注释。但是我只想更改电子邮件输入的错误消息,我想在我的控制器中进行更改。不在yml文件中。那不可能?问题是。“不要与框架抗争”当您使用框架时,请使用可能性并将其划分为不同的类并构建一个结构。当你在Github上搜索一个Symfony包,看看他们是怎么做的,也许会更容易些。看,我更新了我的帖子,我创建了我的YML文件,并在其中添加了一些约束。但当我发送表格时,我仍然会出错“请输入电子邮件地址”而不是“无效电子邮件地址”
$form = $this->createFormBuilder($contact, array('constraints' => $constraint))