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 messages4 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>