Contrôler saisie formulaire
Bonjour,
Je réalise une application en Java J2ee et je souhaite contrôler que mes champs sont bien rempli.
Pour cela, j'a créé différentes méthodes dans mon controlleur:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86
| public class LoginServlet extends HttpServlet
{
private static final long serialVersionUID = 3239007136416961422L;
private boolean erreur = false;
private String message = "";
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.getRequestDispatcher("/Vue/JSP/login.jsp").forward(request, response);
}
/* Traitement des données du formulaire */
public void doPost( HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException{
String resultat;
/* Récupération des champs du formulaire. */
String nom = request.getParameter("nom");
String prenom = request.getParameter("prenom");
String email = request.getParameter("email");
String telephone = request.getParameter("telephone");
request.setAttribute("erreurNom", validationNom(nom));
request.setAttribute("erreurPrenom", validationPrenom(prenom));
request.setAttribute("erreurTelephone", validationTelephone(telephone));
request.setAttribute("erreurMail", validationEmail(email));
if(erreur == true){
resultat = "Votre formulaire a correctement été traité !";
}else{
resultat = "Il manque des éléments non transmis";
}
/* Stockage du résultat et des messages d'erreurs */
request.setAttribute("erreurs", resultat);
request.setAttribute("correcte", resultat);
if (erreur == false) {
/* Si aucune erreur, alors affichage de la fiche récapitulative */
response.sendRedirect("accueil");
} else {
/* Sinon, ré-affichage du formulaire de création avec les erreurs */
response.sendRedirect("login");
}
}
/* Valide l'adresse mail saisie. */
private String validationEmail(String email) {
if (email != null && email.trim().length() != 0) {
if (!email.matches( "([^.@]+)(\\.[^.@]+)*@([^.@]+\\.)+([^.@]+)" ) ) {
erreur = true;
message = "Merci de saisir une adresse mail valide.";
}
} else {
erreur = true;
message = "Merci de saisir une adresse mail.";
}
return message;
}
/** Valide du nom. */
private String validationNom(String nom) {
if (nom == null) {
erreur = true;
message = "Le nom doit être renseigné.";
}
return message;
}
/** Valide du prenom. */
private String validationPrenom(String prenom) {
if (prenom == null) {
erreur = true;
message = "Le prénom doit être renseigné.";
}
return message;
}
/** Valide du telephone. */
private String validationTelephone(String telephone) {
if (telephone == null) {
erreur = true;
message = "Le téléphone doit être renseigné.";
}
return message;
}
} |
Mon problème est que je n'arrive pas à afficher mes erreurs sur ma jsp et aussi à réafficher dans le champ la valeur saisie:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
| <%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%>
<%@ page errorPage="erreur.jsp"%>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Application connexion</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="">
<meta name="author" content="">
<!-- Le styles -->
<link href="bootstrap/css/bootstrap.css" rel="stylesheet">
<link href="bootstrap/css/bootstrap-responsive.css" rel="stylesheet">
</head>
<body>
<div class="container">
<form class="form-signin" Action="login" Method=Post>
<h2 class="form-signin-heading">Demande</h2>
<input type="text" class="input-block-level" name="nom" placeholder="Nom"/>
<input type="text" class="input-block-level" name="prenom" placeholder="Prenom"/>
<input type="text" class="input-block-level" name="telephone" placeholder="Téléphone"/>
<input type="text" class="input-block-level" name="email" placeholder="Email address"/>
<input type="password" class="input-block-level" name="password" placeholder="Password"/>
<label class="checkbox">
<input type="checkbox" value="remember-me"> Remember me
</label>
<button class="btn btn-large btn-primary" type="submit" value="Traiter">Traiter</button>
<button class="btn btn-large btn-primary" type="Reset" value="Effacer">Effacer</button>
</form>
</div> <!-- /container -->
</body>
</html> |
Merci de votre aide