我正在使用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
答案 0 :(得分:1)
问题是数据库字段中的下划线。字段不应命名为fzgnr_nvr,而应命名为fzgnrnvr或fzgnrNvr。从数据库字段中删除所有下划线后,一切正常。