Symfony Validator Standalone - HTML属性

时间:2015-02-02 05:56:26

标签: php validation symfony doctrine-orm symfony-forms

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

转换这个 -

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

进入HTML代码

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

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

感谢您的任何信息!

2 个答案:

答案 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 } }) }}