Symfony4 使用assert-Symfony/API平台验证重复条目
当我创建用户时,我已设法验证电子邮件(不是空白和格式) 当我键入与另一个用户已有的电子邮件相同的电子邮件时,问题就出现了。Symfony将在查询时返回500个错误(在开发模式下),而在生产模式下不返回查询,而不是返回400个错误,并进行适当的描述 在生产模式下,我甚至没有机会解析错误消息,向用户显示他输入的电子邮件已经存在于数据库中 我感到惊讶的是,没有人断言这一点 我该怎么处理呢 谢谢实际上有 文档中的示例完全适合您的用例:Symfony4 使用assert-Symfony/API平台验证重复条目,symfony4,api-platform.com,Symfony4,Api Platform.com,当我创建用户时,我已设法验证电子邮件(不是空白和格式) 当我键入与另一个用户已有的电子邮件相同的电子邮件时,问题就出现了。Symfony将在查询时返回500个错误(在开发模式下),而在生产模式下不返回查询,而不是返回400个错误,并进行适当的描述 在生产模式下,我甚至没有机会解析错误消息,向用户显示他输入的电子邮件已经存在于数据库中 我感到惊讶的是,没有人断言这一点 我该怎么处理呢 谢谢实际上有 文档中的示例完全适合您的用例: // src/Entity/User.php namespace A
// src/Entity/User.php
namespace App\Entity;
use Doctrine\ORM\Mapping as ORM;
// DON'T forget the following use statement!!!
use Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity;
use Symfony\Component\Validator\Constraints as Assert;
/**
* @ORM\Entity
* @UniqueEntity("email")
*/
class User
{
/**
* @ORM\Column(name="email", type="string", length=255, unique=true)
* @Assert\Email
*/
protected $email;
}
实际上有
文档中的示例完全适合您的用例:
// src/Entity/User.php
namespace App\Entity;
use Doctrine\ORM\Mapping as ORM;
// DON'T forget the following use statement!!!
use Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity;
use Symfony\Component\Validator\Constraints as Assert;
/**
* @ORM\Entity
* @UniqueEntity("email")
*/
class User
{
/**
* @ORM\Column(name="email", type="string", length=255, unique=true)
* @Assert\Email
*/
protected $email;
}
NikitaU有一个断言。你是个天才,我真的应该学会更好地使用谷歌。请把它作为答案贴出来,这样我就可以接受了。非常感谢。NikitaU有一个断言。你是个天才,我真的应该学会更好地使用谷歌。请把它作为答案贴出来,这样我就可以接受了。非常感谢。