1

我想更改 FosUser Bundle 的密码模式..(可以说,我要求密码至少为 6 个字符,还需要 1 个字母和 1 个数字。我在哪里设置这个?

4

2 回答 2

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>

我不知道(但我想我是对的)是否存在“1 个字母和 1 个数字”类型的约束。在这种情况下,您必须自己“构建”它并以与使用此示例的NotBlankandMinLenght约束相同的方式使用

于 2013-01-31T08:03:36.320 回答
1

我已经添加到用户实体

    // 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;    
于 2014-03-23T18:31:36.640 回答