微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Symfony - Sonata 管理员 - 覆盖验证

如何解决Symfony - Sonata 管理员 - 覆盖验证

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

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

// MyEntity 管理类

我把这个函数放在下面,关于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

期望在名称字段上使用此 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>

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。