Symfony 4-多重断言难度

问题描述 投票:0回答:1

在我的symfony项目中,我有一个具有以下字段的实体:

/**
 * Solde
 * @ORM\Column(type="float", nullable=true)
 */
private $solde;

此字段可以为null,等于0或大于0,但不能为负。

所以我想知道如何组织该字段的断言?

我可以做这样的事情吗?

 /**
 * @Assert\!Negative
 */

否则我应该使用的断言是:

/ ** 
 * @Assert \ Null () 
 * @Assert\GreaterThanOrEqual(0)
 * / 

但是如果我同时使用这两种方法,则可能会出现问题,因为一个必须确保该值为零,而另一个必须确保其为正或等于0

symfony validation constraints assert
1个回答
0
投票

如果使用的是Symfony 4.3+,则可以使用PositiveOrZero

/**
 * @Assert\PositiveOrZero
 */

如果将其与nullable=true结合使用,则所有正数0null均有效。

对于旧版本的Symfony,您可以使用:

/**
 * @Assert\GreaterThanOrEqual(0)
 */

再次使用nullable=true,您将获得相同的效果。

© www.soinside.com 2019 - 2024. All rights reserved.