Symfony 3.4 + FOSUserBundle为新的自定义字段添加错误消息

时间:2018-11-26 16:11:40

标签: php forms symfony fosuserbundle

我在UserEntity中创建了一个新的自定义字段,因此创建了一个带有错误消息的Assert-Validation。此消息可以与{{ form_errors(form) }}一起全局显示,但是我没有找到一种方法来显示链接到该字段的错误消息而不覆盖整个form_theme。

{{ form_errors(form.field_name) }}也不起作用

1 个答案:

答案 0 :(得分:1)

FOSUserBundle自己映射错误。

我的问题是FormType字段名称中的错字。它应该与实体中的变量名称完全匹配

实体

/**
 * Some Comment
 *
 * @ORM\Column(name="field_name", type="array", nullable=true)
 * @Assert\NotBlank(message = "Please select at least one field_name")
 */
protected $fieldName; // Entity variable name

FormType

    $builder->add(
        'fieldName', // Needs to match Entity variable name
        ChoiceType::class,
        array(
            'choices' => array(
                'Some Choice' => '1',
                'Other Choice' => '2',
                '3rd Choice' => '3',
            ),
            'label' => 'form.register.fieldname',
            'translation_domain' => 'user',
            'multiple' => true,
            'expanded' => true,
            'required' => true,
        )
    );