Php 密码强度无法重置密码Symfony

Php 密码强度无法重置密码Symfony,php,forms,symfony,passwords,fosuserbundle,Php,Forms,Symfony,Passwords,Fosuserbundle,我已将密码强度添加到我的用户密码中 /** * @Assert\Regex( * pattern="/(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9]).{7,}/", * message="Uw wachtwoord moet zeven tekens of langer zijn, minimaal één getal bevatten, een hoofletter en een kleine letter. " * ) */ protected $plain

我已将密码强度添加到我的用户密码中

/**
 * @Assert\Regex(
 *  pattern="/(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9]).{7,}/",
 *  message="Uw wachtwoord moet zeven tekens of langer zijn, minimaal één getal bevatten, een hoofletter en een kleine letter. "
 * )
 */
protected $plainPassword;
这很好,但如果用户想要重置其密码,则这些密码强度规则不适用

如何将密码强度添加到重置密码表单

    // vendor/friendsofsymfony/user-bundle/Ressources/config/validation.xml
    <property name="plainPassword">
        <constraint name="NotBlank">
            <option name="message">fos_user.password.blank</option>
            <option name="groups">
                <value>Registration</value>
                <value>ResetPassword</value>
                <value>ChangePassword</value>
            </option>
        </constraint>
        <constraint name="Length">
            <option name="min">2</option>
            <option name="max">4096</option>
            <option name="minMessage">fos_user.password.short</option>
            <option name="groups">
                <value>Registration</value>
                <value>Profile</value>
                <value>ResetPassword</value>
                <value>ChangePassword</value>
            </option>
        </constraint>
    </property>
更新

你所要做的就是添加行

*  groups = { "ResetPassword"}
到$plainPassword注释。

两者

/**
 * @Assert\Regex(
 *  pattern="/(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9]).{7,}/",
 *  message="Uw wachtwoord moet zeven tekens of langer zijn, minimaal één getal bevatten, een hoofletter en een kleine letter. "
 * )
 */
protected $plainPassword;


fos_user.password.blank
登记处
重置密码
控件
2.
4096
fos_user.password.short
登记处
轮廓
重置密码
控件
我会工作的。这个错误来自我很久以前做的一个验证器文件。此验证器出现错误,此错误是此选项不起作用的原因

通过添加“*groups={“registration”}”,我修复了这个错误


如果您与我遇到相同的错误,请检查验证文件中的错误并进行修复。

您正在使用fosuserbundle?是的,我是,它似乎仍在使用默认的fosuserbundle密码强度值。您谈论的是更改密码或通过邮件发送邮件,您能给我url吗!我说的是通过电子邮件重置它。很遗憾,我无法向您发送url。我已添加了您在AppBundle/Resources/config/validation.xml中发布的代码,但出现以下错误:[error 1845]元素“property”:验证根目录没有匹配的全局声明。(在/sites/zioo/www/web/-第1行第0列)这是因为我使用yml造成的吗?我不确定。@MarcoKoopman您只需要在注释中添加验证组就可以了。如果是因为您使用yml导致的,则不确定您的意思。唯一需要添加的是注释部分*groups={“ResetPassword”}如果不清楚,请让我知道,以便我可以澄清我的答案对不起,我不知道需要添加注释的地方。我需要将验证组添加到何处?
/**
 * @Assert\Regex(
 *  pattern="/(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9]).{7,}/",
 *  message="Uw wachtwoord moet zeven tekens of langer zijn, minimaal één getal bevatten, een hoofletter en een kleine letter. "
 * )
 */
protected $plainPassword;
<property name="plainPassword">
    <constraint name="NotBlank">
        <option name="message">fos_user.password.blank</option>
        <option name="groups">
            <value>Registration</value>
            <value>ResetPassword</value>
            <value>ChangePassword</value>
        </option>
    </constraint>
    <constraint name="Length">
        <option name="min">2</option>
        <option name="max">4096</option>
        <option name="minMessage">fos_user.password.short</option>
        <option name="groups">
            <value>Registration</value>
            <value>Profile</value>
            <value>ResetPassword</value>
            <value>ChangePassword</value>
        </option>
    </constraint>
</property>