gpt4 book ai didi

php - 如何在 symfony2 中覆盖 FOS bundle 的验证消息

转载 作者:行者123 更新时间:2023-11-29 13:12:25 24 4
gpt4 key购买 nike

我在我的项目中使用 FOS 包。我在管理包中创建了一个新的 Controller ChangePasswordController。这是我的代码。

namespace Pondip\AdminBundle\Controller;

use Symfony\Component\HttpFoundation\Request;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Symfony\Component\HttpFoundation\RedirectResponse;
use FOS\UserBundle\Controller\ChangePasswordController as BaseController;

/**

Controller managing the change password *
@author Aman
/
class ChangePasswordController extends BaseController
{
/**
This action is used for change password for admin.
@author Aman
@return render view
@throws AccessDeniedException as exception
@
*/
public function changePasswordAction()
{
$user = $this->container->get('security.context')->getToken()->getUser();


$form = $this->container->get('fos_user.change_password.form');
$formHandler = $this->container->get('fos_user.change_password.form.handler');

$process = $formHandler->process($user);
if ($process) {
$this->setFlash('fos_user_success', 'Password has been changed successfully');

$url = $this->container->get('router')->generate('pondip_admin_changepassword');
return new RedirectResponse($url);
}

return $this->container->get('templating')->renderResponse(
'PondipAdminBundle:ChangePassword:changePassword.html.'.$this->container->getParameter('fos_user.template.engine'),
array('form' => $form->createView())
);
}

}

现在我想自定义当前密码的错误消息。

最佳答案

您是否覆盖 FOSUserBundle?请参阅Documentation 。如果您不这样做,那么如果您想修改默认行为,您应该这样做。

如果是这样,您必须在覆盖 FOSUserBundle 的 bundle 中复制在 FOSUserBundle 供应商中找到的翻译文件(和父目录):

Resources/translations/validators.xx.yml,其中 xx 是您的区域设置。

然后更改错误消息。例如,要更改当前密码无效错误,请写入:

fos_user:
[...]
current_password:
invalid: Your own error message here
[...]

希望这有帮助!

关于php - 如何在 symfony2 中覆盖 FOS bundle 的验证消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21902989/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com