Symfony 4 - как очистить флеш-сообщения через 5 секунд? - PullRequest
0 голосов
/ 23 октября 2018

Я устанавливаю флэш-сообщение в моем контроллере при рендеринге шаблона ветки.Я проверяю электронную почту пользователя, если она есть в базе данных. Вспышка будет зеленой, иначе - красной.я хочу очистить сообщение через 5 секунд, но не знаю, как.

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,
    ]);
}

enter image description here

1 Ответ

0 голосов
/ 23 октября 2018

Вам нужно написать функцию javascript, которая удаляет .flash-notice через пять секунд после загрузки страницы.

...