【问题标题】:Symfony - Sonata 管理员 - 覆盖验证
【发布时间】:2021-07-14 03:19:30
【问题描述】:

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

我有一个实体 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 个最大长度

感谢您的帮助

【问题讨论】:

    标签: symfony sonata


    【解决方案1】:

    看起来你需要做的是覆盖这个验证配置: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>
    

    【讨论】:

    • 您好,感谢您的回复,我尝试从我的扩展包中创建此 xml 文件:位于:Application\Sonata\ClassificationBundle\Resources\Config\validation.xml 但没有效果
    • 嗨,没有人实现这个?
    猜你喜欢
    • 2016-06-30
    • 1970-01-01
    • 1970-01-01
    • 2019-07-16
    • 1970-01-01
    • 2013-03-25
    • 2018-12-12
    • 2018-11-02
    • 1970-01-01
    相关资源
    最近更新 更多