0
symfony2アプリでは、という名前のクラスがFOS\UserBundle\Model\User
(FOSUserBundleパッケージの一部)から拡張されています。だから私は重複するユーザー名を挿入しようとするとエラーをスローするそのUserクラスから$ usernameフィールドを継承します。私がしようとしているのは、ユーザーが電話番号と電子メールアドレスを確認してそのエラーを投げるかどうかを確認することです。symfony2で "username"と重複して入力することは可能ですか?
たとえば、「Anna」というユーザー名で登録したがメールと電話番号を確認しなかった場合などです。誰かが "Anna"というユーザー名で登録できるはずです。この動作をどのように実装する必要がありますか?
attribute override私は何もしないで成功しました。ここでは、コードがあります:
ここuse FOS\UserBundle\Model\User as BaseUser;
/**
* @ORM\Entity(repositoryClass="sfGuard\Bundle\sfGuardBundle\Entity\sfGuardUserRepository")
* @ORM\Table(name="sf_guard_user")
* @ORM\AttributeOverrides({
* @ORM\AttributeOverride(name="email",
* [email protected]\Column(
* name = "email_address",
* type = "string",
* length = 250,
* unique = true
* )
* ),
* @ORM\AttributeOverride(name="username",
* [email protected]\Column(
* name = "username",
* type = "string",
* length = 250,
* unique = false
* )
* ),
* @ORM\AttributeOverride(name="enabled",
* [email protected]\Column(
* name = "is_active",
* type = "boolean",
* nullable = true,
* options = {
* "default" : 1
* }
* )
* )
* })
* @ORM\HasLifecycleCallbacks
*/
class sfGuardUser extends BaseUser
{
/**
* @ORM\Id
* @ORM\Column(type="integer")
* @ORM\GeneratedValue(strategy="AUTO")
*/
protected $id;
/**
* @ORM\Column(name="first_name", type="string", length=255, nullable=true)
* @Assert\NotBlank()
* @Assert\Length(
* min = 2,
* minMessage = "Too short."
*)
*/
protected $firstName;
}
は、鉱山と同じように動作しませんでした。 – Zolbayar
私のために働くことはあなたに賭けを共有することができます – Robert