我想更改FosUser Bundle的密码模式..(比方说,我要求密码为6个字符的最小值,也需要1个字母和1个数字。我在哪里设置这个?
答案 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;它本身并使用与您使用此示例的NotBlank
和MinLenght
约束相同的方式
答案 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;