fix(client): Retrait validations required pour champs non persistes dans inscription.xhtml

CHAMPS RENDUS OPTIONNELS (non persistes dans DTO serveur):
- sexe : required=true supprime
- dateNaissance : required=true supprime (auto-generee si absente)
- contactUrgenceNom : required=true supprime
- contactUrgenceTelephone : required=true supprime
- contactUrgenceLien : required=true supprime
- adresse : required=true supprime (optionnelle dans DTO)
- ville : required=true supprime (optionnelle dans DTO)
- telephoneMobile : required=true supprime
- typeAdhesion : required=true supprime

CHAMPS OBLIGATOIRES CONSERVES (persistes dans DTO):
- prenom : required=true (NotBlank dans DTO)
- nom : required=true (NotBlank dans DTO)
- email : required=true (NotBlank dans DTO)
- organisationId : required=true (NotNull dans DTO)

Plus de blocage sur champs non sauvegardes!
Le membre peut etre cree avec donnees minimales et completees progressivement.
This commit is contained in:
dahoud
2025-11-29 23:12:24 +00:00
parent 9e2da68c6e
commit c39771191c

View File

@@ -100,7 +100,7 @@
<div class="field"> <div class="field">
<p:outputLabel for="dateNaissance" value="Date de naissance" /> <p:outputLabel for="dateNaissance" value="Date de naissance" />
<p:calendar id="dateNaissance" value="#{membreInscriptionBean.dateNaissance}" required="true" <p:calendar id="dateNaissance" value="#{membreInscriptionBean.dateNaissance}"
pattern="dd/MM/yyyy" showIcon="true" yearNavigator="true" yearRange="1920:2030" pattern="dd/MM/yyyy" showIcon="true" yearNavigator="true" yearRange="1920:2030"
monthNavigator="true" requiredMessage="La date de naissance est obligatoire" monthNavigator="true" requiredMessage="La date de naissance est obligatoire"
styleClass="w-full" /> styleClass="w-full" />
@@ -113,7 +113,7 @@
</div> </div>
<div class="field"> <div class="field">
<p:outputLabel for="sexe" value="Sexe" /> <p:outputLabel for="sexe" value="Sexe" />
<p:selectOneMenu id="sexe" value="#{membreInscriptionBean.sexe}" required="true" styleClass="w-full"> <p:selectOneMenu id="sexe" value="#{membreInscriptionBean.sexe}" styleClass="w-full">
<f:selectItem itemLabel="Sélectionner..." itemValue="" noSelectionOption="true" /> <f:selectItem itemLabel="Sélectionner..." itemValue="" noSelectionOption="true" />
<f:selectItems value="#{membreInscriptionBean.sexeOptions}" /> <f:selectItems value="#{membreInscriptionBean.sexeOptions}" />
</p:selectOneMenu> </p:selectOneMenu>
@@ -148,7 +148,6 @@
<div class="field"> <div class="field">
<p:outputLabel for="contactUrgenceNom" value="Nom complet" /> <p:outputLabel for="contactUrgenceNom" value="Nom complet" />
<p:inputText id="contactUrgenceNom" value="#{membreInscriptionBean.contactUrgenceNom}" <p:inputText id="contactUrgenceNom" value="#{membreInscriptionBean.contactUrgenceNom}"
required="true" requiredMessage="Le nom du contact d'urgence est obligatoire"
styleClass="w-full" /> styleClass="w-full" />
<p:message for="contactUrgenceNom" /> <p:message for="contactUrgenceNom" />
</div> </div>
@@ -156,13 +155,12 @@
<div class="field"> <div class="field">
<p:outputLabel for="contactUrgenceTelephone" value="Téléphone" /> <p:outputLabel for="contactUrgenceTelephone" value="Téléphone" />
<p:inputText id="contactUrgenceTelephone" value="#{membreInscriptionBean.contactUrgenceTelephone}" <p:inputText id="contactUrgenceTelephone" value="#{membreInscriptionBean.contactUrgenceTelephone}"
required="true" requiredMessage="Le téléphone du contact d'urgence est obligatoire"
styleClass="w-full" /> styleClass="w-full" />
<p:message for="contactUrgenceTelephone" /> <p:message for="contactUrgenceTelephone" />
</div> </div>
<div class="field"> <div class="field">
<p:outputLabel for="contactUrgenceLien" value="Lien de parenté" /> <p:outputLabel for="contactUrgenceLien" value="Lien de parenté" />
<p:selectOneMenu id="contactUrgenceLien" value="#{membreInscriptionBean.contactUrgenceLien}" required="true" styleClass="w-full"> <p:selectOneMenu id="contactUrgenceLien" value="#{membreInscriptionBean.contactUrgenceLien}" styleClass="w-full">
<f:selectItem itemLabel="Sélectionner..." itemValue="" noSelectionOption="true" /> <f:selectItem itemLabel="Sélectionner..." itemValue="" noSelectionOption="true" />
<f:selectItems value="#{membreInscriptionBean.contactUrgenceLienOptions}" /> <f:selectItems value="#{membreInscriptionBean.contactUrgenceLienOptions}" />
</p:selectOneMenu> </p:selectOneMenu>
@@ -223,7 +221,6 @@
<div class="field"> <div class="field">
<p:outputLabel for="adresse" value="Adresse complète" /> <p:outputLabel for="adresse" value="Adresse complète" />
<p:inputTextarea id="adresse" value="#{membreInscriptionBean.adresse}" rows="4" <p:inputTextarea id="adresse" value="#{membreInscriptionBean.adresse}" rows="4"
required="true" requiredMessage="L'adresse est obligatoire"
styleClass="w-full" /> styleClass="w-full" />
<p:message for="adresse" /> <p:message for="adresse" />
</div> </div>
@@ -231,8 +228,7 @@
<div class="formgrid grid"> <div class="formgrid grid">
<div class="field col"> <div class="field col">
<p:outputLabel for="ville" value="Ville" /> <p:outputLabel for="ville" value="Ville" />
<p:inputText id="ville" value="#{membreInscriptionBean.ville}" required="true" <p:inputText id="ville" value="#{membreInscriptionBean.ville}" styleClass="w-full" />
requiredMessage="La ville est obligatoire" styleClass="w-full" />
<p:message for="ville" /> <p:message for="ville" />
</div> </div>
<div class="field col"> <div class="field col">
@@ -259,7 +255,6 @@
<div class="field col"> <div class="field col">
<p:outputLabel for="telephoneMobile" value="Téléphone mobile" /> <p:outputLabel for="telephoneMobile" value="Téléphone mobile" />
<p:inputText id="telephoneMobile" value="#{membreInscriptionBean.telephoneMobile}" <p:inputText id="telephoneMobile" value="#{membreInscriptionBean.telephoneMobile}"
required="true" requiredMessage="Le téléphone mobile est obligatoire"
styleClass="w-full" /> styleClass="w-full" />
<p:message for="telephoneMobile" /> <p:message for="telephoneMobile" />
</div> </div>
@@ -284,7 +279,7 @@
</div> </div>
<div class="field"> <div class="field">
<p:outputLabel for="typeAdhesion" value="Type d'adhésion" /> <p:outputLabel for="typeAdhesion" value="Type d'adhésion" />
<p:selectOneMenu id="typeAdhesion" value="#{membreInscriptionBean.typeAdhesion}" required="true" styleClass="w-full"> <p:selectOneMenu id="typeAdhesion" value="#{membreInscriptionBean.typeAdhesion}" styleClass="w-full">
<f:selectItem itemLabel="Sélectionner..." itemValue="" noSelectionOption="true" /> <f:selectItem itemLabel="Sélectionner..." itemValue="" noSelectionOption="true" />
<f:selectItems value="#{membreInscriptionBean.typeAdhesionOptions}" /> <f:selectItems value="#{membreInscriptionBean.typeAdhesionOptions}" />
</p:selectOneMenu> </p:selectOneMenu>