Browse Source

Validation de formulaire

Daniel Le Berre 5 years ago
parent
commit
c7b5bbd207

+ 9 - 9
WebContent/index.html → WebContent/index.jsp

@@ -1,24 +1,24 @@
-<!DOCTYPE html>
-
-
-
+<%@ page language="java" contentType="text/html; charset=utf-8"
+	pageEncoding="utf-8"%>
+<%@ taglib prefix="s" uri="/struts-tags"%>
 <html xmlns="http://www.w3.org/1999/xhtml">
 
 <head>
 	<meta charset="UTF-8">
-  <title>Bienvenue à microfolie</title>
+  <title>Bienvenue à microfolie</title>
   <link rel="stylesheet" type="text/css" href="css/style.css">
   <link rel="stylesheet" href="css/style1.css" type="text/css"  /> 
   <link rel="stylesheet" href="css/style.css" type="bootstrap/css/bootstrap.min.css"  />
 </head>
 
 <body>
+<s:url var="inscriptionurl" action="gotoinscription"/>
 <div id="principal">
     <div class="header">
         <div class="navbar">
             <ul>
                 <li><a href="index.html">Accueil</a></li>
-<li><a href="inscription.jsp">Inscription</a></li>
+<li><a href="${inscriptionurl}">Inscription</a></li>
                 
                 
             </ul>
@@ -29,7 +29,7 @@
         <div class="menu">
             <ul>
               <li><a href="index.html">Accueil</a></li>
-               <li><a href="abonnes.html">Nos abonnés</a></li>
+               <li><a href="abonnes.html">Nos abonnés</a></li>
                <li><a href="inscription.jsp">Inscription</a></li>
                
             </ul>
@@ -37,7 +37,7 @@
         <div class="content">
      <header>
 
-         <h4>Fréquentation des espaces de microfolie</h4>
+         <h4>Fréquentation des espaces de microfolie</h4>
 
       </header>
 
@@ -49,7 +49,7 @@
          
          <header>
 
-         <h4>Fréquentation de microfolie pour cette semaine</h4>
+         <h4>Fréquentation de microfolie pour cette semaine</h4>
 
       </header>
       

+ 90 - 90
WebContent/inscription.jsp

@@ -1,125 +1,125 @@
-<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
-	pageEncoding="ISO-8859-1"%>
-
+<%@ page language="java" contentType="text/html; charset=utf-8"
+	pageEncoding="utf-8"%>
+<%@ taglib prefix="s" uri="/struts-tags"%>
+<html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
 <title>Inscription</title>
-  <link rel="stylesheet" type="text/css" href="css/style.css">
-  <link rel="stylesheet" href="css/style1.css" type="text/css"  /> 
-  <link rel="stylesheet" href="css/style.css" type="bootstrap/css/bootstrap.min.css"  />
-  <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
+<link rel="stylesheet" type="text/css" href="css/style.css">
+<link rel="stylesheet" href="css/style1.css" type="text/css" />
+<link rel="stylesheet" href="css/style.css"
+	type="bootstrap/css/bootstrap.min.css" />
+<script
+	src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
 
-  
+<s:head />
 </head>
 
 <body>
 
-<div id="principal">
-    <div class="header">
-        <div class="navbar">
-            <ul>
-                <li><a href="index.html">Accueil</a></li>
-                <li><a href="abonnes.html">Nos abonnés</a></li>
-                <li><a href="inscription.jsp">Inscription</a></li>
-            </ul>
-        </div>
-    </div><!-- end of header -->
-    <div class="main">
-    	 <div class="menu">
-            <ul>
-              <li><a href="index.html">Accueil</a></li>
-               <li><a href="abonnes.html">Nos abonnés</a></li>
-               <li><a href="inscription.jsp">Inscription</a></li>
-               
-            </ul>
-        </div><!--end menu -->
-        <div class="content">
-        	<header>
-         		<h4>Inscription à l'espace microfolies</h4>
-      		</header>
-		      <main>
-					<form>
-					 	 <div class="form-group row">
-					  		<label  class="col-2 col-form-label">Nom* </label>
-					  		<div class="col-10">
-					    		<input class="form-control" type="text" required>
-					  		</div>
-					  	</div>
+	<div id="principal">
+		<div class="header">
+			<div class="navbar">
+				<ul>
+					<li><a href="index.html">Accueil</a></li>
+					<li><a href="abonnes.html">Nos abonnés</a></li>
+					<li><a href="inscription.jsp">Inscription</a></li>
+				</ul>
+			</div>
+		</div>
+		<!-- end of header -->
+		<div class="main">
+			<div class="menu">
+				<ul>
+					<li><a href="index.html">Accueil</a></li>
+					<li><a href="abonnes.html">Nos abonnés</a></li>
+					<li><a href="inscription.jsp">Inscription</a></li>
+
+				</ul>
+			</div>
+			<!--end menu -->
+			<div class="content">
+				<header>
+					<h4>Inscription à l'espace microfolies</h4>
+				</header>
+				<main>
+					<s:debug />
+					<s:form action="inscription" validate="true">
 						<div class="form-group row">
-					  		<label  class="col-2 col-form-label">Prénom*</label>
-					  		<div class="col-10">
-					    		<input class="form-control" type="text" required>
-					  		</div>
+							<div class="col-10">
+								<s:textfield name="nom" label="Nom*" class="form-control" />
+							</div>
 						</div>
 						<div class="form-group row">
-					  		<label  class="col-2 col-form-label">Genre*</label>
-					  		<div class="col-3">
-								<select class="form-control"  required>
-									<option value=""></option>
-								  	<option>Homme</option>
-								    <option>Femme</option>
-								    <option>Autre</option>
-								</select>  
+							<div class="col-10">
+								<s:textfield name="prenom" label="Prenom*" class="form-control" />
 							</div>
 						</div>
 						<div class="form-group row">
-					  		<label  class="col-2 col-form-label">Date de naissance*</label>
-					  		<div class="col-10">
-					    		<input class="form-control" type="date" required>
-					  		</div>
+							<div class="col-3">
+								<s:select nom="genre" label="Genre*" list="getGenres()" />
+							</div>
 						</div>
 						<div class="form-group row">
-					  		<label  class="col-2 col-form-label">Ville*</label>
-					  		<div class="col-10">
-					    		<input class="form-control" type="text" required>
-					  		</div>
+							<label class="col-2 col-form-label">Date de naissance*</label>
+							<div class="col-10">
+								<input class="form-control" type="date">
+							</div>
 						</div>
 						<div class="form-group row">
-					  		<label  class="col-2 col-form-label">Situation*</label>
-					  		<div class="col-10">
-					    		<input class="form-control" type="text" required>
-					  		</div>
+							<label class="col-2 col-form-label">Ville*</label>
+							<div class="col-10">
+								<input class="form-control" type="text">
+							</div>
 						</div>
 						<div class="form-group row">
-						 	<label class="col-2 col-form-label">Email*</label>
-						  	<div class="col-10">
-						   		 <input class="form-control" type="text" required>
-						  	</div>
+							<label class="col-2 col-form-label">Situation*</label>
+							<div class="col-10">
+								<input class="form-control" type="text">
+							</div>
 						</div>
 						<div class="form-group row">
-					  		<label class="col-2 col-form-label" >Téléphone *</label>
-					  		<div class="col-10">
-					    		<input class="form-control" type="text" required>
-					  		</div>
+							<label class="col-2 col-form-label">Email*</label>
+							<div class="col-10">
+								<input class="form-control" type="text">
+							</div>
 						</div>
 						<div class="form-group row">
-					  		<label  class="col-2 col-form-label" >Contact d'urgence* </label>
-					  		<div class="col-10">
-					    		<input class="form-control" type="text" required>
-					  		</div>
+							<label class="col-2 col-form-label">Téléphone *</label>
+							<div class="col-10">
+								<input class="form-control" type="text">
+							</div>
+						</div>
+						<div class="form-group row">
+							<label class="col-2 col-form-label">Contact d'urgence* </label>
+							<div class="col-10">
+								<input class="form-control" type="text">
+							</div>
 						</div>
 						<div class="form-group row" type="text">
-					  		<label  class="col-2 col-form-label" >Pièce jointe</label>
-					  		<div class="col-10">
-					    		<input class="form-control" type="file" />
-					  		</div>
+							<label class="col-2 col-form-label">Pièce jointe</label>
+							<div class="col-10">
+								<input class="form-control" type="file" />
+							</div>
 						</div>
-					  	<button type="submit" class="btn btn-primary">Valider</button>
-					</form>
-		      </main>
-    	</div><!-- end of content div -->
-    </div><!-- end of main div --> 
-	<br> 
-	<div class="clear"></div>
-    <div class="footer"></div>
-    </div>
+						<s:submit class="btn btn-primary">Valider</s:submit>
+					</s:form>
+				</main>
+			</div>
+			<!-- end of content div -->
+		</div>
+		<!-- end of main div -->
+		<br>
+		<div class="clear"></div>
+		<div class="footer"></div>
+	</div>
 </body>
-  
+
 </html>
 
 
 
 
 
-	
+
 

+ 17 - 0
src/microfolie/Inscription-execute-validation.xml

@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+    <!DOCTYPE validators PUBLIC "-//Apache Struts//XWork Validator 1.0.3//EN"
+        "http://struts.apache.org/dtds/xwork-validator-1.0.3.dtd">
+    <validators>
+        <field name="nom">
+            <field-validator type="requiredstring">
+                <param name="trim">true</param>
+                <message>Vous devez fournir votre nom</message>
+            </field-validator>
+        </field>
+        <field name="prenom">
+            <field-validator type="requiredstring">
+                <param name="trim">true</param>
+                <message>Vous devez fournir votre prénom</message>
+            </field-validator>
+        </field>
+    </validators>

+ 37 - 2
src/microfolie/Inscription.java

@@ -4,7 +4,38 @@ import com.opensymphony.xwork2.ActionSupport;
 
 public class Inscription extends ActionSupport {
 
-	
+	private String nom;
+	private String prenom;
+	private String genre;
+
+	public String getNom() {
+		return nom;
+	}
+
+	public void setNom(String nom) {
+		this.nom = nom;
+	}
+
+	public String getPrenom() {
+		return prenom;
+	}
+
+	public void setPrenom(String prenom) {
+		this.prenom = prenom;
+	}
+
+	public String[] getGenres() {
+		return new String[] { "", "Homme", "Femme", "Autre" };
+	}
+
+	public String getGenre() {
+		return genre;
+	}
+
+	public void setGenre(String genre) {
+		this.genre = genre;
+	}
+
 	/**
 	 * 
 	 */
@@ -12,7 +43,11 @@ public class Inscription extends ActionSupport {
 
 	@Override
 	public String execute() throws Exception {
-		System.out.println("Vu!");
+		System.out.println(nom + " " + prenom);
+		return SUCCESS;
+	}
+
+	public String before() throws Exception {
 		return SUCCESS;
 	}
 

+ 3 - 0
src/struts.xml

@@ -12,5 +12,8 @@
             <result name="success">/index.jsp</result>
             <result name="input">/inscription.jsp</result>
         </action>
+        <action name="gotoinscription" class="microfolie.Inscription" method="before">
+            <result>/inscription.jsp</result>
+        </action>
     </package>
 </struts>