IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JSF Java Discussion :

Validateurs en comparant deux champs date


Sujet :

JSF Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    mame06
    Invité(e)
    Par défaut Validateurs en comparant deux champs date
    Bonjour tout le monde. je travaille sur un projet e j2EE, jsf 1.2 et richfaces 3 et voici mon problème: j'ai un formulaire de saisie avec deux champs dates (dateDebut et dateFin). maintenant je cherche à valider la saisie en vérifiant que dateFin est bien supérieur à dateDebut et pour cela voilà ce que j'ai fait:
    ma page jsp:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <h:panelGrid columns="3">
                                        <h:outputText value="Du  :" />
                                        <rich:calendar  id="dateDebut" required="true" requiredMessage="Champ vide"    value="#{controleMB.dateDebut}" 
                                                        datePattern="dd/MM/yyyy" >                                                               
                                        </rich:calendar>
                                        <rich:message for="dateDebut" />
                                        <h:outputText value="Au  :" />
                                        <rich:calendar  id="dateFin" required="true" requiredMessage="Champ vide" validator="#{ControleMB.validatordates}"
                                                        value="#{ControleMB.dateFin}" datePattern="dd/MM/yyyy" >
                                        </rich:calendar>
                                        <rich:message for="dateFin" />
                                        <h:commandButton  action="#{ControleMB.generation()}" value="Générer" style="font-size:13px"/>
                                    </h:panelGrid>
    et dans la manged Bean controleMB:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    public void validatordates(FacesContext context, UIComponent component, Object object) throws ValidatorException {
            Date daten2 = (Date) object;        
            if ((dateDebut==null)||(dateDebut.after(daten2))) {
                    FacesMessage message = new FacesMessage("Dates incorrectes");                
                    message.setSeverity(FacesMessage.SEVERITY_ERROR);
                    throw new ValidatorException(message);
                }
     
        }
    sachant que dateDebut est la variable qui contient dateDebut de la page jsp. Quand je mets des dates incorrectes il écrit le message"dates incorrectes" mais après quand je mets des dates correctes il affiche toujours le même message. sauriez-vous d'où vient lle problème???? merci d'avance.

  2. #2
    Membre chevronné
    Homme Profil pro
    Ed Nat
    Inscrit en
    Janvier 2013
    Messages
    325
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Ed Nat
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2013
    Messages : 325
    Par défaut
    Bonjour,
    as tu vérifié que dateDebut est bien affecté au moment de ta validation ?

    sinon, tu peux le récupérer de cette façon :
    Date dateDebut= (Date) component.getAttributes().get("dateDebut");

  3. #3
    mame06
    Invité(e)
    Par défaut
    Citation Envoyé par kox2ee Voir le message
    Bonjour,
    as tu vérifié que dateDebut est bien affecté au moment de ta validation ?

    sinon, tu peux le récupérer de cette façon :
    J'ai essayé ça mais tjrs le même problème. Merci quand même

  4. #4
    Membre chevronné
    Homme Profil pro
    Ed Nat
    Inscrit en
    Janvier 2013
    Messages
    325
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Ed Nat
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2013
    Messages : 325
    Par défaut
    Affiche dateDebut et daten2 dans le message pour savoir si les 2 dates sont correctement affectées

  5. #5
    mame06
    Invité(e)
    Par défaut
    @Kox2ee effectivement j'ai affiché sur la console et seule daten2 contient une valeur dateDebut et toujours nulle.

  6. #6
    Membre chevronné
    Homme Profil pro
    Ed Nat
    Inscrit en
    Janvier 2013
    Messages
    325
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Ed Nat
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2013
    Messages : 325
    Par défaut
    peut être avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    UIInput dateDebutCal= (UIInput) context.getViewRoot().findComponent("dateDebut");
    Date dateDebut= (date) dateDebutCal.getSubmittedValue();

Discussions similaires

  1. comparer deux champs d un formulaire
    Par williams59 dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 21/12/2007, 11h38
  2. Editeur de recherche - comparer deux champs
    Par sscouby dans le forum 4D
    Réponses: 1
    Dernier message: 17/10/2007, 12h08
  3. Comment réunir deux champs date?
    Par Sunsawe dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 20/07/2007, 10h57
  4. [SQL] un champ Timestamp ou deux champs Date et Heure?
    Par davmaster62 dans le forum PHP & Base de données
    Réponses: 9
    Dernier message: 25/02/2006, 23h04
  5. comparer des champs date time
    Par HULK dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 25/01/2005, 14h02

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo