我想更改 FosUser Bundle 的密码模式..(可以说,我要求密码至少为 6 个字符,还需要 1 个字母和 1 个数字。我在哪里设置这个?
问问题
924 次
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 个数字”类型的约束。在这种情况下,您必须自己“构建”它并以与使用此示例的NotBlank
andMinLenght
约束相同的方式使用
于 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 回答