Symfony 4表单验证未显示所有错误

时间:2019-01-06 11:10:47

标签: forms symfony validation

我正在使用Symfony 4.1,并且在表单验证中有一个奇怪的行为。标签中会呈现某些错误,而某些错误不会呈现。

该实体看起来像:

class Vehicle
{
    /**
     * @ORM\Column(type="string", length=64)
     * @Assert\NotBlank(
     *     groups = { "edit" },
     *     message="Fahrzeugnummer wird benötigt"
     * )
     */
    private $fzgnr_nvr;

    /**
     * @ORM\Column(type="string", length=64)
     * @Assert\NotBlank(
     *     groups = { "edit" },
     *     message="Hersteller wird benötigt"
     * )
     */
    private $hersteller;

这是表单生成器

$builder
    ->add('fzgnrNvr', TextType::class, [
        'label' => 'Fahrzeug (NVR)',
    ])
    ->add('histbezMitnr', TextType::class, [
        'label' => 'Historische Bezeichnung'
    ])
    ->add('hersteller', TextType::class, [
       'label' => 'Hersteller'
    ])

树枝看起来像

{{ form_start(form) }}
    {{ form_errors(form) }}
    {{ form_row(form.fzgnrNvr) }}
    {{ form_row(form.histbezMitnr) }}
    {{ form_row(form.hersteller) }}
    {{ form_row(form.baujahr) }}
    {{ form_row(form.eigentuemer) }}
我添加了

form_errors,因为那样就不会呈现form.fzgnrNvr的错误。错误使错误变得不同,我找不到错误所在。1

在调试中显示错误,但未显示该字段。 fzgnrNvr和hersteller绝对相同,但导致错误不同。2

1 个答案:

答案 0 :(得分:1)

问题是数据库字段中的下划线。字段不应命名为fzgnr_nvr,而应命名为fzgnrnvr或fzgnrNvr。从数据库字段中删除所有下划线后,一切正常。