繁体   English   中英

Symfony - Sonata 管理员 - 覆盖验证

[英]Symfony - Sonata admin - override validation

我正在使用奏鸣曲管理员,我试图覆盖类别名称允许的最大长度

我有一个实体 MyEntity 扩展Application\Sonata\ClassificationBundle\Entity\Category

// MyEntity 管理员 class

我把这个放在 function 之后,关于https://sonata-project.org/bundles/core/master/doc/reference/conditional_validation.html#inline-validation

public function validate(\Sonata\Form\Validator\ErrorElement $errorElement, $object)
{
    parent::validate($errorElement, $object);

    $errorElement->with('name')
            ->assertLength(['max' => 100])
    ;
}

当前显示

预计将在名称字段上获得 32 个最大长度

谢谢帮助

看起来您需要做的是覆盖此验证配置: https://github.com/sonata-project/SonataClassificationBundle/blob/3.x/src/Resources/config/validation.xml

<class name="Sonata\ClassificationBundle\Model\Category">
    <property name="name">
        <constraint name="NotBlank"/>
        <constraint name="Length">
            <option name="min">2</option>
            <option name="max">32</option>
        </constraint>
    </property>
</class>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM