格式列仅适用于datetime
,date
和choice
类型。
Fordatetime
和date
它代表日期格式Y-m-d H:i:s
和 . 的选择数组choice
。
我还没有找到任何关于它的文档,所以我不得不查看源代码。这是FormTypeParser类,实际解析的地方,FormType
你可以看到格式字段是如何设置的。
在FormTypeParserTest类中,您可以看到如何使用它。只需format
为其中一种可用类型传递带有名称的字符串参数,解析器就会处理它。
更新:FormType
你要在你的班级中定义你的约束。
例如:
class TestType extends AbstractType
{
/**
* @Assert\Type("string")
* @Assert\Length(min="10", max="255")
* @Assert\Regex("/^[^<>]+$/i")
*/
private $title;
/**
* @Assert\Type("string")
* @Assert\Length(min="10", max="255")
* @Assert\Regex("/^[^<>]+$/i")
*/
private $content;
/**
* @Assert\Date()
*/
private $created;
public function getName()
{
return 'test';
}
}
将被解析为:
ValidationParser
在
doParse()方法中查找在您的FormType
类中定义的所有约束,然后parseConstraint()
为每个约束执行方法。
你也可以FormTypeParser
像我上面描述的那样使用。例如:
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder->add('created', 'date', array('label' => 'Created', 'format' => 'yyyy-MM-dd'))
->add('color', 'choice', array('label' => 'Color', 'choices' => array('grey' => '#CCCCCC', 'red' => '#FF0000')))
->add('save', 'submit');
}
将被解析为:
希望现在有帮助!