Logo

Messages flash

Notifications de session stockées côté serveur, affichées une seule fois après redirection.

Cliquez sur le bouton pour injecter les 4 types de messages et les voir s'afficher.

Afficher les messages

4 niveaux disponibles

  • Success — action réussie, sauvegarde, connexion
  • Info — information neutre
  • Warning — attention requise
  • Error — erreur, accès refusé
views.rs — injection dans la vue
pub async fn about(
    mut request: Request,
) -> AppResult<Response> {
    success!(request.notices => "Action réussie.");
    info!(request.notices => "Message d'information.");
    warning!(request.notices => "Attention requise.");
    error!(request.notices => "Une erreur est survenue.");

    request.render("about/about.html")
}
views.rs — pattern redirect typique
// Après une action : ajouter + rediriger
pub async fn create_post(
    request: Request,
    Prisme(mut form): Prisme<BlogForm>,
) -> AppResult<Response> {
    if request.is_post() && form.is_valid().await {
        form.save(&db).await?;
        success!(request.notices => "Article publié !");
        return Ok(Redirect::to("/blog").into_response());
    }
    request.render("blog/blog.html")
}
flash_now! — message immédiat sans session
// Affiche le message sur la page courante (pas de redirect)
flash_now!(error => request, "Formulaire invalide.");
index.html — affichage dans le template
<!-- dans le layout de base -->
<main>
    {% block messages %}
        {% messages %}
    {% endblock %}
    {% block content %}{% endblock %}
</main>