简体   繁体   English

Symfony - Sonata 管理员 - 覆盖验证

[英]Symfony - Sonata admin - override validation

i'm using sonata admin, i tried to override max length allowed for name of categorie我正在使用奏鸣曲管理员,我试图覆盖类别名称允许的最大长度

I have an entity MyEntity who extend Application\Sonata\ClassificationBundle\Entity\Category我有一个实体 MyEntity 扩展Application\Sonata\ClassificationBundle\Entity\Category

// MyEntity admin class // MyEntity 管理员 class

I put this following function, regarding https://sonata-project.org/bundles/core/master/doc/reference/conditional_validation.html#inline-validation我把这个放在 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])
    ;
}

Current display当前显示

Expected to get ride of this 32 max length on name's field预计将在名称字段上获得 32 个最大长度

Thx for helping谢谢帮助

It looks like what you need to do instead, is override this validation config: https://github.com/sonata-project/SonataClassificationBundle/blob/3.x/src/Resources/config/validation.xml看起来您需要做的是覆盖此验证配置: 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