【发布时间】:2017-07-06 11:26:31
【问题描述】:
我有一个表格:
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(),但它似乎不像我预期的那样工作。
我哪里做错了?
感谢您的帮助。
【问题讨论】:
标签: symfony symfony-3.3