Symfony 4 - 多断言困难
Symfony 4 - Multi assert difficults
在我的 symfony 项目中,我有一个具有此字段的实体:
/**
* Solde
* @ORM\Column(type="float", nullable=true)
*/
private $solde;
该字段可以为空、等于 0 或大于 0,但不能为负数。
所以我想知道如何组织该字段的断言?
我可以做这样的事情吗?
/**
* @Assert\!Negative
*/
否则我应该使用的断言是:
/ **
* @Assert \ Null ()
* @Assert\GreaterThanOrEqual(0)
* /
但如果我同时使用这两个,可能会出现问题,因为一个必须确保该值为零,另一个必须验证它是正数或等于0
如果您使用的是 Symfony 4.3+,您可以使用 PositiveOrZero:
/**
* @Assert\PositiveOrZero
*/
如果将它与 nullable=true
结合使用,所有正数 0
和 null
都将有效。
对于旧版本的 Symfony,您可以使用:
/**
* @Assert\GreaterThanOrEqual(0)
*/
再次使用nullable=true
,你会得到同样的效果。
或者您可以使用其逻辑集创建自己的验证器
enter link description here
在我的 symfony 项目中,我有一个具有此字段的实体:
/**
* Solde
* @ORM\Column(type="float", nullable=true)
*/
private $solde;
该字段可以为空、等于 0 或大于 0,但不能为负数。
所以我想知道如何组织该字段的断言?
我可以做这样的事情吗?
/**
* @Assert\!Negative
*/
否则我应该使用的断言是:
/ **
* @Assert \ Null ()
* @Assert\GreaterThanOrEqual(0)
* /
但如果我同时使用这两个,可能会出现问题,因为一个必须确保该值为零,另一个必须验证它是正数或等于0
如果您使用的是 Symfony 4.3+,您可以使用 PositiveOrZero:
/**
* @Assert\PositiveOrZero
*/
如果将它与 nullable=true
结合使用,所有正数 0
和 null
都将有效。
对于旧版本的 Symfony,您可以使用:
/**
* @Assert\GreaterThanOrEqual(0)
*/
再次使用nullable=true
,你会得到同样的效果。
或者您可以使用其逻辑集创建自己的验证器 enter link description here