我有一个表格:
class ArticleType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('autor', AutorType::class)
->add('categories', CollectionType::class, array(
'entry_type' => CategoryType::class,
'error_bubbling' => false,
))
->add('submit', SubmitType::class)
;
}
public function configureOptions(OptionsResolver $resolver)
{
$resolver->setDefaults(array(
'data_class' => Article::class,
));
}
}
这嵌入到自定义表单中。我的文章实体如下所示:
class Article
{
/**
* @Assert\Type(type="AppBundle\Model\Autor")
* @Assert\Valid()
*/
private $autor;
/**
*
* @Assert\All({
* @Assert\Type(type="AppBundle\Model\Category")
* })
* @Assert\Valid()
*/
private $categories;
}
我的问题是类别字段错误(例如类别名称不为空);错误永远不会映射到字段本身。
使用'error_bubbling' => true
, 错误是与 ArticleType 形式的映射。
使用'error_bubbling' => false
时,错误会映射到 CollectionType 集合,但不会映射到 CategoryType 表单或 CategoryType 的名称字段。
我在 Symfony 3.3 上并且不能使用cascade_validation
,我使用@Assert\Valid()
但它似乎没有像我预期的那样工作。
我哪里做错了?
谢谢你的帮助。