Explorar el Código

Suite gestion formulaire inscription

Arthur Brandao hace 5 años
padre
commit
0312000d42

+ 21 - 7
WebContent/inscription.jsp

@@ -1,6 +1,7 @@
 <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
 	pageEncoding="UTF-8"%>
 <%@ taglib prefix="s" uri="/struts-tags"%>
+<%@ taglib prefix="tag" tagdir="/WEB-INF/tags" %>
 
 <!DOCTYPE html>
 <html>
@@ -69,14 +70,14 @@
                 <div class="row">
                     <div class="input-field col m6 s12">
                     	<i class="material-icons prefix">person</i>
-                        <s:textfield id="pnom" name="prenom" label="Prenom*" class="validate" required="required" />
+                        <s:textfield id="pnom" name="prenom" class="validate" required="required" />
                         <label for="pnom">Pr&eacute;nom*</label>
                         <span class="helper-text"></span>
                         <s:fielderror fieldName="prenom" class="field-error hide" />
                     </div>
                     <div class="input-field col m6 s12">
                     	<i class="material-icons prefix">account_circle</i>
-                        <s:textfield id="nom" name="nom" label="Nom*" class="validate" required="required" />
+                        <s:textfield id="nom" name="nom" class="validate"  required="required" />
                         <label for="nom">Nom*</label>
                         <span class="helper-text"></span>
                         <s:fielderror fieldName="nom" class="field-error hide" />
@@ -85,15 +86,16 @@
                 <div class="row">
                     <div class="input-field col m6 s12">
                     	<i class="material-icons prefix">wc</i>
-                        <s:select id="genre" nom="genre" label="Genre*" list="getGenres()" required="required" />
+                        <s:select id="genre" name="genre" list="getGenres()" headerKey="" headerValue="Selectionnez une valeur" required="required" />
                         <label for="genre">Genre*</label>
-                        <span class="helper-text"></span>
-                        <s:fielderror fieldName="genre" class="field-error hide" />
+                        <s:fielderror fieldName="genre" class="red-text" style="padding-left: 3em" />
                     </div>
                     <div class="input-field col m6 s12">
                         <i class="material-icons prefix">cake</i>
-                        <input id="naissance" type="text" class="datepicker">
+                        <s:textfield id="naissance" name="naissance" class="validate datepicker"  required="required" />
                         <label for="naissance">Date de naissance*</label>
+                        <span class="helper-text"></span>
+                        <s:fielderror fieldName="prenom" class="field-error hide" />
                     </div>
                 </div>
                 <div class="row">
@@ -139,12 +141,15 @@
                 </div>
                 <div class="row">
                     <div class="col s12 center-align">
-                    	<s:submit class="btn waves-effect waves-light btn red" value="Valider" />
+                    	<s:submit id="btn-valid" class="btn waves-effect waves-light btn red" value="Valider" />
                     </div>
                 </div>
             </s:form>
         </div>
     </main>
+    
+    <!-- Loader -->
+    <tag:loader name="loader"/>
 
     <!-- Footer -->
     <footer class="page-footer red">
@@ -178,6 +183,15 @@
     <script type="text/javascript" src="js/jquery.min.js"></script>
     <script type="text/javascript" src="js/materialize.min.js"></script>
     <script type="text/javascript" src="js/script.js"></script>
+    <script type="text/javascript">
+    	$(document).ready(() => {
+    		const loader = M.Modal.getInstance($('#loader'));
+    		
+    		$('#btn-valid').on('click', function() {
+    			loader.open();
+    		});
+    	});
+    </script>
 </body>
 
 </html>

+ 8 - 0
WebContent/js/script.js

@@ -155,5 +155,13 @@ $(document).ready(function(){
             weekdaysAbbrev:	['D','L','M','M','J','V','S']
         }
     });
+    // Affichage des erreur struts
+    $('.field-error').each(function() {
+    	const error = $(this).children('ul li').children('span').html();
+    	const parent = $(this).parent();
+        parent.children('.helper-text').attr('data-error', error);
+        parent.children('.validate').addClass('invalid');
+    });
+
 
 });

+ 11 - 0
src/microfolie/entry/form/Inscription-inscription-validation.xml

@@ -14,4 +14,15 @@
                 <message>Vous devez fournir votre prénom</message>
             </field-validator>
         </field>
+        <field name="genre">
+        	<field-validator type="requiredstring">
+                <param name="trim">true</param>
+                <message>Vous devez indiquer votre genre</message>
+            </field-validator>
+        </field>
+        <field name="genre">
+        	<field-validator type="date">
+                <message>Vous devez fournir votre date de naissance</message>
+            </field-validator>
+        </field>
     </validators>

+ 16 - 8
src/microfolie/entry/form/Inscription.java

@@ -1,12 +1,17 @@
 package microfolie.entry.form;
 
+import java.util.Date;
+
 import com.opensymphony.xwork2.ActionSupport;
 
 public class Inscription extends ActionSupport {
 
+	private static final long serialVersionUID = -8872053158311741161L;
+	
 	private String nom;
 	private String prenom;
 	private String genre;
+	private Date naissance;
 
 	public String getNom() {
 		return nom;
@@ -25,7 +30,7 @@ public class Inscription extends ActionSupport {
 	}
 
 	public String[] getGenres() {
-		return new String[] { "", "Homme", "Femme", "Autre" };
+		return new String[] {"Homme", "Femme", "Autre" };
 	}
 
 	public String getGenre() {
@@ -35,15 +40,18 @@ public class Inscription extends ActionSupport {
 	public void setGenre(String genre) {
 		this.genre = genre;
 	}
-
-	/**
-	 * 
-	 */
-	private static final long serialVersionUID = 1L;
-
+	
+	public Date getNaissance() {
+		return naissance;
+	}
+	
+	public void setNaissance(Date naissance) {
+		this.naissance = naissance;
+	}
+	
 	@Override
 	public String execute() throws Exception {
-		System.out.println(nom + " " + prenom);
+		System.out.println(nom + " " + prenom + " " + genre + " " + naissance);
 		return SUCCESS;
 	}