我自己使用SF2表单和验证程序包。无论如何都要生成使用symfony验证器创建的注释的HTML属性?例如:
转换这个 -
/**
* @var
* @Assert\Length(min="2", max="2")
*/
protected $state;
进入HTML代码
<input type="text" maxlength="2" ... >
通常,我知道在SF2中通过在Doctrine注释中设置字符串的大小来设置,但我使用Aura.SQL来处理与数据库的交互。
感谢您的任何信息!
答案 0 :(得分:1)
我认为你所寻找的东西并不存在。 顺便说一下,您可以通过创建自己的form type guesser
来实现它答案 1 :(得分:1)
好吧,根据documentation,当你省略add()方法的第二个参数时(或者如果你将null传递给它),就会激活“猜测”。
如果您使用此功能,Symfony将尝试根据验证元数据(和学说信息)猜测字段的“类型”以及许多字段选项的正确值。
因此,从理论上讲,如果省略第二个参数或将null
传递给它(它将在输出的input
中呈现html5属性),它应该为您提供预期的输出。
如果由于任何原因它不起作用,你总是可以在add方法中强制它的渲染(它也会覆盖任何猜测,如果它存在):
->add('state', null, array('attr' => array('minlength' => 2,'maxlength' => 2)))
甚至在树枝模板中:
{{ form_widget(form.state, {'attr': {'maxlength' : 2, 'minlength' : 2 } }) }}