Assert\Range 整数在 Symfony 中不起作用
Assert\Range for integer doesn't work in Symfony
我想验证 Symfony\Component\Validator\Constraints
的整数是否在一个特殊范围内。
这是我的代码:
/**
* @var integer
* @Assert\Range(
* min = 120,
* max = 180,
* minMessage = "You must be at least 120 cm tall to enter",
* maxMessage = "You cannot be taller than 180 cm to enter"
* )
* @ORM\Column(name="cp", type="integer", nullable=true)
*/
protected $cp;
但是没用。
一些信息:
- 这是在扩展 BaseUser 的自定义 UserEntity 中
- Symfony 版本 2.8
- 我对 create/update/delete 用户使用 easyAdminBundle
- 我已经把
use Symfony\Component\Validator\Constraints as Assert;
放在了最前面
您必须在 validator
服务上使用 validate()
方法。
还要检查是否在框架配置中启用了验证。
当你想要持久化新对象时,你首先要在控制器中使用 ValidatorInterface
实例方法验证它们。如果对象有效则保留它们,如果不向用户发送一些有关错误的信息。
请查看有关使用 validator
和其他内容的完整教程 symfony docs
如果您在配置中使用 easyAdminBundle
,则必须为 cp
属性 添加
- { property: 'cp', type : 'integer', type_options: { attr : { min : minValue, max: maxValue }}}
查看文档如何设置 easy admin
的配置
我想验证 Symfony\Component\Validator\Constraints
的整数是否在一个特殊范围内。
这是我的代码:
/**
* @var integer
* @Assert\Range(
* min = 120,
* max = 180,
* minMessage = "You must be at least 120 cm tall to enter",
* maxMessage = "You cannot be taller than 180 cm to enter"
* )
* @ORM\Column(name="cp", type="integer", nullable=true)
*/
protected $cp;
但是没用。
一些信息:
- 这是在扩展 BaseUser 的自定义 UserEntity 中
- Symfony 版本 2.8
- 我对 create/update/delete 用户使用 easyAdminBundle
- 我已经把
use Symfony\Component\Validator\Constraints as Assert;
放在了最前面
您必须在 validator
服务上使用 validate()
方法。
还要检查是否在框架配置中启用了验证。
当你想要持久化新对象时,你首先要在控制器中使用 ValidatorInterface
实例方法验证它们。如果对象有效则保留它们,如果不向用户发送一些有关错误的信息。
请查看有关使用 validator
和其他内容的完整教程 symfony docs
如果您在配置中使用 easyAdminBundle
,则必须为 cp
属性 添加
- { property: 'cp', type : 'integer', type_options: { attr : { min : minValue, max: maxValue }}}
查看文档如何设置 easy admin
的配置