Symfony2 嵌入表单 : error not displayed

标签 symfony symfony-forms

我有一个订单和一个产品实体

class Order {

    /**
     * @ORM\OneToMany(targetEntity="Product", mappedBy="order", cascade={"persist", "remove"}))
     * @Assert\Valid()
     * @Assert\Count(
     *      min = "1"
     * )
     */
     protected $products;
}


class Product
{
    /**
     * @ORM\ManyToOne(targetEntity="Order", inversedBy="products")
     * @ORM\JoinColumn(name="id_order", referencedColumnName="id", onDelete="CASCADE", nullable=false)
     */
    protected $order;

    /**
     * @ORM\ManyToOne(targetEntity="Category")
     * @ORM\JoinColumn(name="id_category", referencedColumnName="id", nullable=false)
     */
    protected $category;

    /**
     * @ORM\ManyToOne(targetEntity="Size")
     * @ORM\JoinColumn(name="id_size", referencedColumnName="id", nullable=true)
     */
    protected $size;


    /**
     * @Assert\IsTrue(message = "Please enter a size")
     */
    public function isSizeValid()
    {
        if($this->category->getCode() == 1 && is_null($this->size)) {
            return false;
        }
        return true;
    }

}

在我的 orderType 表单中,我添加了一组 ProductType,并将 error_bubbling 设置为 false。但是当我的 isSizeValid 为 false 时,我的表单上没有任何错误消息。

但是当我将 error_bubbling 设置为 true 时,错误会显示在我的表单顶部。

如何在我的 Twig 模板中的每个产品旁边显示错误?

最佳答案

您必须在表单中设置选项“error_mapping”。

http://symfony.com/doc/current/reference/forms/types/form.html#error-mapping

public function configureOptions(OptionsResolver $resolver)
{
    $resolver->setDefaults(array(
        'error_mapping' => array(
            'isSizeValid' => 'product',
        ),
    ));
}

关于Symfony2 嵌入表单 : error not displayed,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38485852/

相关文章:

symfony-forms - Symfony mid电话号码捆绑如何提供现有电话

symfony - 在 Symfony2/Twig 中获取表单小部件名称

symfony - 从 Symfony2 中的表单获取数据后克隆对象

symfony - 如何使用 symfony2 文件系统在文件中附加内容?

Symfony Doctrine Hydrator - 使用定制 Hydrator 我失去了 ManyToOne 关系

symfony - symfony2 中所有页面的通用业务逻辑放置在哪里

php - Symfony 3 文件上传

php - Symfony2/FOSUserBundle - 根据角色登录后重定向

php - 如何在 Symfony 2.5 中拆分验证 yaml 文件?

php - 文件类型为 create 的 symfony 4 表单集合实体