0
我想創建用戶並自動生成密碼。我使用自定義窗體類來顯示名字,姓氏和電子郵件字段。用戶名是基於電子郵件創建的,沒有問題。但是,我不能跳過密碼驗證,並保存新用戶時實現密碼生成。使用用戶註冊表時刪除密碼檢查
我應該創建自定義validator.xml
原如下:
<?xml version="1.0" encoding="UTF-8" ?>
<container xmlns="http://symfony.com/schema/dic/services"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd">
<parameters>
<parameter key="fos_user.validator.password.class">FOS\UserBundle\Validator\PasswordValidator</parameter>
<parameter key="fos_user.validator.unique.class">FOS\UserBundle\Validator\UniqueValidator</parameter>
</parameters>
<services>
<service id="fos_user.validator.initializer" class="FOS\UserBundle\Validator\Initializer" public="false">
<tag name="validator.initializer" />
<argument type="service" id="fos_user.user_manager" />
</service>
</services>
</container>
我在這裏看到fos_user.validator.password.class
,也許我應該在這裏把自定義類
好的,我接近解決方案,使用validator.xml我可以更改一些驗證器,但我不知道如何將NotBlank
驗證器更改爲Blank
。試過這個片段沒有成功。
<class name="Application\Sonata\UserBundle\Entity\User">
<property name="plainPassword">
<constraint name="Blank">
<option name="groups">Registration</option>
</constraint>
</property>
</class>