- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
好吧,我知道这已经被问了一百万次了,但这里是。
我已阅读 this , this , this以及 the docs ,但仍然无法弄清楚我的问题是什么。每当我尝试添加用户名/电子邮件重复的用户时,我都会收到异常而不是预期的表单验证错误。我有一个 SystemUser 实体,它通过加入的继承映射链接到各种其他用户类型。在 SystemUser 类中,我有这个...
/**
* SystemUser
*
* @ORM\Table(name="systemuser")
* @ORM\Entity(repositoryClass="MyBundle\MainBundle\Entity\Repository\SystemUserRepository")
* @ORM\InheritanceType("JOINED")
* @ORM\DiscriminatorColumn(name="discr", type="integer")
* @ORM\DiscriminatorMap({"0" = "SystemUser", "1" = "SchoolAdmin", "2" = "Teacher", "3" = "Student", "4" = "Guardian", "5" = "SystemAdmin"})
* @ORM\HasLifecycleCallbacks()
* @UniqueEntity(fields={"email"}, message="This email address is already used in the system", groups={"registration"})
* @UniqueEntity(fields={"username"}, message="This cellphone number is already used in the system", groups={"registration"})
*/
unique=true
.我试过没有它,同样的异常(exception)。我也试过没有
groups={"registration"}
标志,我不确定是否必须在某处指定和声明“注册”组(我确实检查了文档但找不到任何内容)。事实上,我不知道在这种情况下验证组实际上有什么用,但我还是尝试了。
MyBundle\MainBundle\Entity\SystemUser:
constraints:
- Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity: email
- Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity: username
properties:
email:
- Email: { groups: [registration] }
password:
- NotBlank: { groups: [registration] }
- Length: { min: 7, groups: [registration] }
cellphone:
- NotBlank: { groups: [registration] }
setDefaultOptions()
方法。
public function setDefaultOptions(OptionsResolverInterface $resolver) {
$resolver->setDefaults(array(
'data_class' => 'MyBundle\MainBundle\Entity\SystemUser',
'validation_groups' => array('registration'),
'cascade_validation' => true,
'constraints' => array(
new UniqueEntity(array(
'fields' => array('email')
)),
new UniqueEntity(array(
'fields' => array('username')
))
)
));
}
最佳答案
您应该尝试替换:
注解
/**
* @UniqueEntity(fields={"email"}, message="This email address is already used in the system", groups={"registration"})
* @UniqueEntity(fields={"username"}, message="This cellphone number is already used in the system", groups={"registration"})
*/
/**
* @UniqueEntity(fields={"email", "username"}, message="A user with those email and username already exists", groups={"registration"})
*/
constraints:
- Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity: email
- Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity: username
constraints:
- Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity:
- email
- username
'constraints' => array(
new UniqueEntity(array(
'fields' => array('email')
)),
new UniqueEntity(array(
'fields' => array('username')
))
)
'constraints' => array(
new UniqueEntity(array(
'fields' => array('email', 'username')
))
)
关于Symfony UniqueEntity 异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20982036/
好吧,我知道这已经被问了一百万次了,但这里是。 我已阅读 this , this , this以及 the docs ,但仍然无法弄清楚我的问题是什么。每当我尝试添加用户名/电子邮件重复的用户时,我都
如何翻译@UniqueEntity 约束中的消息? 我有这种情况: /** * @ORM\Entity * @ORM\Table(name="sites") * @UniqueEntity(
如何翻译@UniqueEntity 约束中的消息? 我有这种情况: /** * @ORM\Entity * @ORM\Table(name="sites") * @UniqueEntity(
我已经在时尚领域使用了 UniqueEntity,例如: /** * @ORM\Entity() * @ORM\Table(name="benefit_group_category") * @U
我有一个相当简单的实体,具有 UniqueEntity 验证: namespace App\Entity; use Doctrine\ORM\Mapping as ORM; use Symfony\C
我有一个合作伙伴、一个买家和一个继承用户类的管理类 当我想添加合作伙伴时,验证器不起作用 * @DoctrineAssert\UniqueEntity(fields="username", mess
我需要验证用户传递的电子邮件: private function validate($value): bool { $violations = $this->validator->valida
假设我有两个实体 college 和 department,其中 college 有很多系(一对多)。我的 validation.yml 看起来像 App\CollegeBundle\Entity\C
聪明的人可以分享他们使用的设计模式来避免 Doctrine\Symfony 中这个基本和常见的并发问题吗? 场景:每个用户必须有一个唯一的用户名。 失败的解决方案: 添加 UniqueEntity对用
几天来,我遇到了一个 Doctrine 实体的小问题。我在两个字段上使用 UniqueConstraint 定义它,然后在这两个字段上使用 UniqueEntity 验证。但是在通过添加一个已经在 b
我的应用程序中有以下实体类:
我有一个带有 UniqueEntity 的 Symfony 2/Doctrine 2 实体约束。如文档中所示,应该可以设置自定义错误消息。我绑定(bind)了以下语法,但这不起作用: /** * @
use Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity; @UniqueEntity({"store_id","user_id"}
我正在尝试创建一个包含 2 个字段(都是 ManyToOne 字段)的 UniqueEntity。 代码如下: /* * @ORM\Table() * @ORM\Entity * @ORM\HasLi
我在使用 MongoDB 在 Zf2 和 Doctrine2 中实现一些在 Symfony2 和 Doctrine2 中相当简单的东西时遇到了问题。 我有一个发票文档,我想在其中确保 Invoice:
我很难找到这个问题的解决方案:我有 2 类联系人和电话,具有多对多关系。 phones 表有 2 个字段:countryCode 和 number。我想检查 2 个联系人没有相同的电话号码,因此要对
我坚持使用 Symfony2 创建用户注册表单。我试图在我的 User 类的 email 属性上定义一个 Unique 约束。 Acme\APPBundle\Entity\User.php names
我正在尝试通过在多个字段上使用 UniqueEntity Validation Constraint 来验证从表单提交的实体的唯一性。 应该唯一的实体代码有两个字段 - fieldA 和 fieldB
我正在使用 Zend Framework 2 并创建了一个用户实体。现在我试图使用户名字段唯一。但是出现以下错误。 [Semantical Error] The annotation "@Unique
在定义具有多个实现的抽象父类(super class)时,我无法让 UniqueEntity 检查工作。 例如,在创建具有电子邮件字段和 FacebookUser/TwitterUser 的 Abst
我是一名优秀的程序员,十分优秀!