Symfony实体注释断言两个中的一个不能为null

Symfony实体注释断言两个中的一个不能为null,symfony,annotations,entity,assert,Symfony,Annotations,Entity,Assert,有人知道如何在实体资产中这样做吗 如果电子邮件和数字为空,则返回错误=>“两个字段中的一个不能为空” 否则,其他主张无效 代码: 这是使用方法验证字段条件的示例: /** * @var boolean * * @Solr\Field(type="boolean") * @ORM\Column(name="professionel", type="boolean") */ private $professionel; /** * @Assert\IsTrue(message = "T

有人知道如何在实体资产中这样做吗

如果电子邮件和数字为空,则返回错误=>“两个字段中的一个不能为空” 否则,其他主张无效

代码:


这是使用方法验证字段条件的示例:

/**
 * @var boolean
 *
 * @Solr\Field(type="boolean")
 * @ORM\Column(name="professionel", type="boolean")
 */
private $professionel;

/**
 * @Assert\IsTrue(message = "Type d'actualité invalide")
 */
public function isValidprofessionel()
{
    if (!$this->professionel && !$this->particulier) {
        return 0;
    } else {
        return 1;
    }
}

我希望这有帮助

这是使用方法验证现场条件的示例:

/**
 * @var boolean
 *
 * @Solr\Field(type="boolean")
 * @ORM\Column(name="professionel", type="boolean")
 */
private $professionel;

/**
 * @Assert\IsTrue(message = "Type d'actualité invalide")
 */
public function isValidprofessionel()
{
    if (!$this->professionel && !$this->particulier) {
        return 0;
    } else {
        return 1;
    }
}

我希望这有帮助

您还可以为整个类创建自定义验证器。这里有一个symfony教程。

您还可以为整个类创建自定义验证器。这里有一个symfony教程。

太酷了!谢谢:)但好方法是稍加修改:@Assert\Expression(*“this.getEmail()或this.getPhone()”,*message=“is\u empty.email\u and\u phone”*)太酷了!谢谢:)但好方法是稍加修改:@Assert\Expression(*“this.getEmail()或this.getPhone()”,*message=“is\u empty.email\u and\u phone”*)
/**
 * @Assert\Expression(
 *     "!this.getEmail() && !this.getPhone()",
 *     message="Please, enter email or phone."
 * )
 */
class Entity
{
    // ...
}