Liste déroulante lié et required=true pour un champs input text de la page
Bonjour,
Est ce que quelqu'un peut m'aidé, j'ai une page JSP avec trois liste déroulante et des champs de saisie. J'aimerai obligé les gens à devoir saisir quelque chose donc je mets la propriété required="true" dans le inputtext. Le problème c'est que quand je fais cela la liaison entre la première liste déroulante et la deuxième ne se fait plus.
Une aute page avec une seule liste déroulante et des champs text, cela marche correctement. C'est quand j'ai plusieurs listes déroulantes liées que le required="true fait "planté" la liaison avec mes listes déroulantes.
Est ce que quelqu'un peut m'aidé merci.
Page qui marche :
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 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117
|
<!-- Imports nécessaires -->
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%>
<%@ taglib prefix="a4j" uri="http://richfaces.org/a4j" %>
<%@ taglib prefix="rich" uri="http://richfaces.org/rich" %>
<%@ taglib prefix="f" uri="http://java.sun.com/jsf/core"%>
<%@ taglib prefix="h" uri="http://java.sun.com/jsf/html"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<meta http-equiv="Content-Style-Type" content="text/css" />
<link rel="stylesheet" type="text/css" href="css.css" />
<!-- Titre en haut de la page -->
<title>THOT : Insérer une nouvelle affaire dans la base</title>
</head>
<body>
<f:view>
<!-- L'en-tête -->
<div id="logoThales" ></div>
<div id="entete">
<strong class="important">TH</strong>alès <strong class="important">O</strong>util de sous-<strong class="important">T</strong>raitance <img src="img/thot.jpg" style="position:absolute;top:5px;left:1050px;" width=35 height=7%>
</div>
<!-- Partie connexion avec la date -->
<div id="connexion">
<h:form>
<strong><h:outputText value="#{connexionBean.utilisateur.nom}" /><rich:spacer width="5" /><h:outputText value="#{connexionBean.utilisateur.prenom}" /> | <h:outputLink value="modifierCompte.jsf"><h:outputText value="Compte" /></h:outputLink> | <h:commandLink action="#{connexionBean.deconnexion}" immediate="true" value="Déconnexion" />| <script type="text/javascript" src="date.js"></script></strong>
</h:form>
</div>
<!-- Les menus -->
<div id="menu">
<f:subview id="menuSub">
<%@include file="menu.jsp" %>
</f:subview>
</div>
<!-- Le corps -->
<div id="action">
</div>
<div id="corps">
<div id="Creeraffaire">
<!-- Titre de la page -->
<h2>Insérer une nouvelle affaire</h2>
<!-- Espace de 50px entre le titre et le formulaire -->
<rich:spacer height="50px" />
<!-- Début du formulaire -->
<h:form id="creerModifierForm" >
<!--<rich:panel header=" " style="width:430px;background-color:#d0d0d0;">-->
<!-- Petit panel de 2 colonnes où dans chaque colonne est placé un composant -->
<h:panelGrid columns="2" >
<h:outputLabel><font><h:outputText value="Liste de toutes les affaires exitantes déjà : "/></font></h:outputLabel>
<!-- Affaires existantes déjà dans la base -->
<h:selectOneMenu id="affaire" value="#{affaireBean.idAffaire}" >
<f:selectItems value="#{affaireBean.listAffaire}" />
</h:selectOneMenu>
<h:outputLabel >
<font><h:outputText value="Nom de l'affaire :"/></font>
</h:outputLabel>
<!-- Petit panel de 2 colonnes où dans chaque colonne est placé un composant -->
<h:panelGrid columns="2" >
<h:inputText id="affaireNom" value="#{affaireBean.affaire.nomaffaire}" required="true" requiredMessage="Saisir une valeur"/>
<h:message style="color: red; text-decoration: none;" id="affaireNomError" for="affaireNom"/>
</h:panelGrid>
<!-- Fin petit panel -->
</h:panelGrid>
<!-- Fin petit panel -->
<!-- Espace de 50px entre le formulaire et le message qui confirme l'insertion-->
<rich:spacer height="50" />
<!-- Message d'erreur en cas de problème ou de confirmation d'insertion de l'affaire -->
<h:message style="color: green; text-decoration: none;margin-left:100px;" id="registerError" for="cBValider"/><br />
<!-- Espace de 50px entre le message qui confirme l'insertion et les boutons -->
<rich:spacer height="50px" />
<h:panelGroup style="margin-left:100px;">
<h:commandButton id="cBValider" action="#{affaireBean.valider}" value="Valider" /><rich:spacer width="10px" />
<a4j:commandButton action="#{affaireBean.annuler}" value="Annuler" reRender="creerModifierForm"/>
</h:panelGroup>
<!--</rich:panel>-->
</h:form>
<!-- 50 px d'espace entre les boutons et la barre de fin -->
<rich:spacer height="50px" />
</div>
</div>
<div id="footer">
<hr />
</div>
</f:view>
</body>
</html> |
Page qui ne fonctionne pas:
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 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151
|
<!-- Imports nécessaires -->
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%>
<%@ taglib prefix="a4j" uri="http://richfaces.org/a4j" %>
<%@ taglib prefix="rich" uri="http://richfaces.org/rich" %>
<%@ taglib prefix="f" uri="http://java.sun.com/jsf/core"%>
<%@ taglib prefix="h" uri="http://java.sun.com/jsf/html"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<meta http-equiv="Content-Style-Type" content="text/css" />
<link rel="stylesheet" type="text/css" href="css.css" />
<!-- Titre en haut de la page -->
<title>THOT : Insérer un nouveau projet dans la base</title>
</head>
<body>
<f:view>
<!-- L'en-tête -->
<div id="logoThales" ></div>
<div id="entete">
<strong class="important">TH</strong>alès <strong class="important">O</strong>util de sous-<strong class="important">T</strong>raitance <img src="img/thot.jpg" style="position:absolute;top:5px;left:1050px;" width=35 height=7%>
</div>
<!-- Partie connexion avec la date -->
<div id="connexion">
<h:form>
<strong><h:outputText value="#{connexionBean.utilisateur.nom}" /><rich:spacer width="5" /><h:outputText value="#{connexionBean.utilisateur.prenom}" /> | <h:outputLink value="modifierCompte.jsf"><h:outputText value="Compte" /></h:outputLink> | <h:commandLink action="#{connexionBean.deconnexion}" immediate="true" value="Déconnexion" />| <script type="text/javascript" src="date.js"></script></strong>
</h:form>
</div>
<!-- Les menus -->
<div id="menu">
<f:subview id="menuSub">
<%@include file="menu.jsp" %>
</f:subview>
</div>
<!-- Le corps -->
<div id="action">
</div>
<div id="corps">
<div id="Creerprojet">
<!-- Titre de la page -->
<h2>Insérer un nouveau projet</h2>
<!-- Espace de 20px entre le titre et le formulaire -->
<rich:spacer height="20px" />
<!-- Début du formulaire -->
<h:form id="creerModifierForm">
<!--<rich:panel header=" " style="width:430px;background-color:#d0d0d0;">-->
<!-- Petit panel de 4 colonnes où dans chaque colonne est placé un composant -->
<h:panelGrid columns="4" >
<h:outputLabel >
<font><h:outputText value="Affaire liée :"/></font>
</h:outputLabel>
<!-- Choisir une affaire dans la liste déroulante -->
<h:selectOneMenu id="affaireLier" value="#{projetBean.idAffaire}" >
<f:selectItems value="#{projetBean.listAffaire}" />
<a4j:support event="onchange" actionListener="#{projetBean.affaireByID}" reRender="projet" />
</h:selectOneMenu>
<!-- Permet l'aller à la page pour enregistrer un projet si celui-ci n'est pas dans la liste déroulante -->
<h:outputLabel><font><h:outputText value="Enregistrer une nouvelle affaire : "/></font></h:outputLabel>
<input type="button" name="lienaffaire" value="Enregistrer une nouvelle affaire" onclick="self.location.href='creerAffaire.jsf'" style="background-color:#ff9900" style="color:white; font-weight:bold">
</h:panelGrid>
<!-- Fin petit panel -->
<!-- Petit panel de 2 colonnes où dans chaque colonne est placé un composant -->
<h:panelGrid columns="2" >
<h:outputLabel><font><h:outputText value="Liste de tous les projets existant déjà : "/></font></h:outputLabel>
<h:selectOneMenu id="projet" value="#{projetBean.idProjet}" >
<f:selectItem itemValue="0" itemLabel="Projets déjà liée à cette affaire"/>
<f:selectItems value="#{projetBean.listProjettrie}"/>
</h:selectOneMenu>
<h:outputLabel >
<font><h:outputText value="Nom du projet :"/></font>
</h:outputLabel>
<h:panelGrid columns="2" >
<h:inputText id="projetNom" value="#{projetBean.projet.nomprojet}" required="true" requiredMessage="Saisir une valeur"/>
<h:message style="color: red; text-decoration: none;" id="projetNomError" for="projetNom"/>
</h:panelGrid>
<h:outputLabel >
<font><h:outputText value="Entite : "/></font>
</h:outputLabel>
<h:selectOneMenu id="projetentite" value="#{projetBean.entite}" >
<f:selectItems value="#{projetBean.listEntite}" />
</h:selectOneMenu>
</h:panelGrid>
<!-- Fin petit panel -->
<!-- Espace de 50px entre le formulaire et le message qui confirme l'insertion-->
<rich:spacer height="50" />
<!-- Message d'erreur en cas de problème ou de confirmation d'insertion du produit -->
<h:message style="color: green; text-decoration: none;margin-left:100px;" id="registerError" for="cBValider"/><br />
<!-- Espace de 50px entre le message qui confirme l'insertion et les boutons -->
<rich:spacer height="50" />
<h:panelGroup style="margin-left:100px;">
<h:commandButton id="cBValider" action="#{projetBean.valider}" value="Valider" /><rich:spacer width="10px" />
<!--<h:commandButton id="cBRetour" action="#{projetBean.retour}" immediate="true" value="Retour" /><rich:spacer width="10px" />-->
<a4j:commandButton action="#{projetBean.annuler}" value="Annuler" reRender="creerModifierForm"/><rich:spacer width="10px" />
</h:panelGroup>
<!--</rich:panel>-->
</h:form>
<!-- 50 px d'espace entre les boutons et la barre de fin -->
<rich:spacer height="50" />
</div>
</div>
<div id="footer">
<hr />
</div>
</f:view>
</body>
</html> |