【发布时间】:2019-12-04 15:28:38
【问题描述】:
在我的 symfony 项目中,我有一个具有此字段的实体:
/**
* Solde
* @ORM\Column(type="float", nullable=true)
*/
private $solde;
该字段可以为null,等于0或大于0但不能为负数。
所以我想知道如何组织该字段的断言?
我可以这样做吗?
/**
* @Assert\!Negative
*/
否则我应该使用的断言是:
/ **
* @Assert \ Null ()
* @Assert\GreaterThanOrEqual(0)
* /
但是如果我同时使用,可能会出现问题,因为一个必须确保值为零,另一个必须验证它是正数还是等于 0
【问题讨论】:
-
就我的理解而言,仅使用
GreaterThanOrEqual(0)似乎最合适。!Negative是不可能的。如果你真的想拥有自己的特定约束,这样你只需要一个,你可以编写一个自定义约束。见:symfony.com/doc/current/validation/custom_constraint.html -
Null 仅专门检查
null,而不是零。默认情况下GreaterThanOrEqual(0)也将允许null。您可以在Test 中看到这一点。当输入值null给定时,@Assert\GreaterThanOrEqual(1)将通过 -
是的,我做了PositivOrZero,是一样的吗?它有效
标签: symfony validation constraints assert