symfony - 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])
;
}
预计将在名称字段上获得 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>
推荐阅读
- javascript - 带有对象的循环数组,我们在一个组件内有不同的类型
- php - 如何在无限循环中重新读取有关文件的信息(例如创建日期)?
- ruby-on-rails - 根据从 Ruby on Rails 中的参数接收到的数据创建对象
- python - 偏差缓解 AIF 360 DataFrame 值必须是数字
- vue.js - 类型上不存在属性“axios”
- react-router - 为什么我不能在路由器中使用查询字符串?
- node.js - 部署后的 Socket.io 和 heroku CORS 问题
- database - 当我在 tdengine 中使用表标签时,过滤策略在哪里运行?
- javascript - 如何使用 React 和 Axios 通过 JSON 获取正确的 API 信息
- ejs - Bootstrap 5 如何在网格中排列我的专辑