fosuserbundle - 更改密码模式

时间:2013-01-31 07:37:16

标签: symfony fosuserbundle

我想更改FosUser Bundle的密码模式..(比方说,我要求密码为6个字符的最小值,也需要1个字母和1个数字。我在哪里设置这个?

2 个答案:

答案 0 :(得分:2)

Yuo可以在FosUserBundle验证器中执行此操作。

看一下这个文件:

/vendor/friendsofsymfony/user-bundle/FOS/UserBundle/Resources/config/validation.xml

特别地:

<property name="plainPassword">
  <constraint name="NotBlank">
    <option name="message">fos_user.password.blank</option>
    <option name="groups">Registration</option>
  </constraint>
  <constraint name="MinLength">
    <option name="limit">2</option>
    <option name="message">fos_user.password.short</option>
    <option name="groups">
      <value>Registration</value>
      <value>Profile</value>
    </option>
  </constraint>
</property>

我不知道(但我认为我是对的)如果存在类型&#34; 1个字母和1个数字&#34;的约束。 在这种情况下,你必须&#34; build&#34;它本身并使用与您使用此示例的NotBlankMinLenght约束相同的方式

答案 1 :(得分:0)

我已添加到用户实体

    // src/Acme/AcmeBundle/Entity/User.php

    ....
    class User extends BaseUser{
        ....
        /**
         * @Assert\NotBlank(message="fos_user.username.blank", groups={"Registration", "Profile"})
         * @Assert\Length(min=5, max="255",
         *     minMessage="fos_user.username.short", maxMessage="fos_user.username.long",
         *     groups={"Registration", "Profile"})
         */
        protected $username;  

        /**
         * @Assert\NotBlank(message="fos_user.password.blank", groups={"Registration", "ResetPassword", "ChangePassword"})
         * @Assert\Length(min=6,
         *     minMessage="fos_user.password.short",
         *     groups={"Registration", "Profile", "ResetPassword", "ChangePassword"})
         */
        protected $plainPassword;    
相关问题