Symfony Validator Standalone - HTML 属性

Symfony Validator Standalone - HTML Attributes

我正在单独使用 SF2 表单和验证程序包。无论如何要从使用 symfony 验证器创建的注释中生成 HTML 属性?例如:

转换这个 -

/**
 * @var
 * @Assert\Length(min="2", max="2")
 */
protected $state;

进入HTML代码

<input type="text" maxlength="2" ... >

通常,我知道这是通过在 Doctrine 注释中设置字符串的大小在 SF2 中设置的,但我使用 Aura.SQL 来处理与数据库的交互。

感谢您提供任何信息!

我认为您要查找的内容不存在。 顺便说一句,您可以通过创建自己的 form type guesser

来实现它

嗯,根据 documentation,当您省略 add() 方法的第二个参数(或者如果您将 null 传递给它)时,"guessing" 被激活。

如果您使用此功能,Symfony 将尝试根据验证元数据(和原则信息)猜测字段的 "type" 和许多字段选项的正确值。

因此,理论上,如果您省略第二个参数或将 null 传递给它,它应该会为您提供预期的输出(它将在输出的 [=13= 中呈现 html5 属性]).

如果由于任何原因它不起作用,您始终可以在 add 方法中强制呈现它(如果它存在,它也会覆盖任何猜测):

->add('state', null, array('attr' => array('minlength' => 2,'maxlength' => 2)))

甚至在树枝模板中:

{{ form_widget(form.state, {'attr': {'maxlength' : 2, 'minlength' : 2 } }) }}