我目前正在为一个人的FormType。我想要一个自定义有效性消息,因此我使用oninvalid
和onchange
属性。但是,这些属性中使用的翻译将不起作用。我只收到一个自定义有效性消息,说“person.label.firstname”。Symfony 3 FormType使用翻译为attr
标签和占位符的翻译工作。那么为什么它不与onchange和oninvalid一起工作呢? (是的,翻译确实存在)
$builder->add("firstname", TextType::class, array(
"label" => "person.label.firstname",
"attr" => array("placeholder" => "person.label.firstname",
"pattern" => "^[a-zA-Z \-]+",
"oninvalid" => 'setCustomValidity("person.validity.firstname")')
))
在此先感谢您。
首先谢谢你的回答。但是,该转换器是该FormType中未定义的方法。例如,我如何注入验证器yaml翻译文件? – Mason
要将服务注入到表单中,您必须将其注册为服务。以下是关于如何执行此操作的文档文章:https://symfony.com/doc/current/form/create_custom_field_type.html#form-field-service –
好的,我会尽力让它工作。谢谢! – Mason