渲染树枝模板时,我在控制器中设置了Flash消息。我正在检查用户电子邮件,如果数据库闪存中存在该电子邮件将为绿色,否则为红色。 我想在5秒后清除闪烁消息,但idk怎么办。
twig.html
{#=======================( )===========================#}
{#====================( )========================#}
{#=================( flash messages )=====================#}
{#====================( )========================#}
{#=======================( )===========================#}
{% for message in app.flashes('notice') %}
{% if var %}
<div class="flash-notice" style="background-color:red;">
{{ message }}
</div>
{% else %}
<div class="flash-notice" style="background-color:green;">
{{ message }}
</div>
{% endif %}
{% endfor %}
controller.php
/**
* @Route("/find_email", name="find_email")
*/
public function FindEmail(Request $request,EventDispatcherInterface $eventDispatcher)
{
$user = new User();
$email = $request->request->get("inputEmail", "valeur par défaut si le champ n'existe pas");
$user = $this->getDoctrine()
->getRepository(User::class)
->findOneBy(['email' => $email]);
////////////////////////////////////
if (!$user) {
$var=true;
$this->addFlash("notice", "This is an error message");
} else {
$user_=$user;
$var=false;
$this->addFlash("notice", "This is a success message");
}
return $this->render('Security/reset_password.html.twig',[
'form'=> $email,
'var'=>$var,
]);
}
答案 0 :(得分:1)
您需要编写一个JavaScript函数,以在页面加载五秒钟后删除.flash-notice
。