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

Struts 1 Java Discussion :

deux méthodes validate dans un meme form bean


Sujet :

Struts 1 Java

  1. #1
    Débutant
    Inscrit en
    Septembre 2007
    Messages
    372
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 372
    Points : 86
    Points
    86
    Par défaut deux méthodes validate dans un meme form bean
    Bonjour, j'ai un form bean ou j'ai définit une methode validate, j'ai trois page jsp lié projets, ajout projet, modif projet, mon problème réside au niveau de ces deux dernière jsp, je teste si la date debut projet est superieur de la date systeme, sinon le user n'a pas le droit de créer ce projet, mais lors de la modification il utilise aussi ce teste d'erreurs alors que ca doit pas le faire, c'est pourquoi je me demande si j'ai la possibilité d'utiliser deux methode validate une pour l'ajout et une autre pour la modification ?


    Merci pour votre aide !

  2. #2
    Membre éclairé Avatar de zorm
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    584
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 584
    Points : 672
    Points
    672
    Par défaut
    Bonjour,
    A priori, je ne pense pas que tu puisses avoir 2 méthodes validate dans un même form. A la limite, tu peux définir un nouveau form mais c'est pas très optimal comme solution.

    Pourquoi pas utiliser par exemple un champ caché (balise hidden) pour déterminer la situation dans laquelle tu te trouves et faire les tests nécessaires en fonction de ça?

  3. #3
    Débutant
    Inscrit en
    Septembre 2007
    Messages
    372
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 372
    Points : 86
    Points
    86
    Par défaut
    si j'ai bien compris ta proposition, je peux pas faire ca parce que j'appelle la méthode validate dans toutes mes actions :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
     
    	public ActionErrors validate(ActionMapping arg0, HttpServletRequest arg1) {
    		ActionErrors errors = new ActionErrors();
     
    		Date datesys = new java.sql.Date(System.currentTimeMillis());
     
    		if((getProjet().getIntituleProjet()==null)||(getProjet().getIntituleProjet().length()<1))
    			errors.add("intituleProjet", new ActionError("error.intituleProjet.vide"));
     
    		if(dated.length()==0)
    			errors.add("dateDebut",new ActionError("error.dateDebut.vide"));
    		else{
    			if(Date.valueOf(dated).getTime() < datesys.getTime())
    				errors.add("sysdate", new ActionError("error.projet.sys"));
    		}
     
    		if(datef.length()==0)
    			errors.add("dateFin", new ActionError("error.dateFin.vide"));
     
    		if(dated.length()!=0 && datef.length()!=0){
    			Date dd = Date.valueOf(dated);
    			Date df = Date.valueOf(datef);
    			if(dd.getTime() > df.getTime())
    				errors.add("comparer", new ActionError("error.comparer.invalide"));
    			else if(dd.getTime() == df.getTime())
    				errors.add("egal", new ActionError("error.egal.invalide"));
    		}
    		return errors;
    	}
    }

    mon action :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    package presentation.str;
     
    import java.sql.Date;
    import java.text.SimpleDateFormat;
    import java.util.List;
     
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
     
    import ma.corporate.planning.metier.Projet;
    import ma.corporate.planning.metier.GestProjet;
    import ma.corporate.planning.metier.GestClient;
     
    import org.apache.struts.action.Action;
    import org.apache.struts.action.ActionError;
    import org.apache.struts.action.ActionErrors;
    import org.apache.struts.action.ActionForm;
    import org.apache.struts.action.ActionForward;
    import org.apache.struts.action.ActionMapping;
    import org.apache.struts.action.ActionMessage;
    import org.apache.struts.action.ActionMessages;
     
    public class ProjetsAction extends Action{
    	List soc;
    	public ActionForward execute(ActionMapping map, ActionForm form,
    			HttpServletRequest request, HttpServletResponse response)
    			throws Exception {
    		ProjetsForm pf=(ProjetsForm)form;
    		GestProjet gp=new GestProjet();
    		GestClient gc=new GestClient();
     
    		soc=gc.getAllClient();
    		pf.setClients(soc);
     
    		//Definition des actions
    		if(pf.getAction().equals(""))
    			{
    				pf.setProjets(gp.getAllProjet());
    			}
    			else if(pf.getAction().equals("Chercher")){
    				pf.setProjets(gp.getProjetParIntl(pf.getMotcle()));
    		}
    			else if (pf.getAction().equals("Editer")){
    				Long idp=new Long(pf.getIdProjet());
    				pf.setProjet(gp.getProjet(idp));
    				pf.setDated(String.valueOf(pf.getProjet().getDateDebut()));
    				pf.setDatef(String.valueOf(pf.getProjet().getDateFin()));
    				return map.findForward("editProjet");
    			}
    			else if(pf.getAction().equals("Supprimer")){
    				Long idp=new Long(pf.getIdProjet());
    				gp.deleteProjet(idp);
    				pf.setProjets(gp.getAllProjet());
    			}
    			else if(pf.getAction().equals("Valider")){
    				 ActionMessages errors = form.validate(map,request);
    			     ActionError newError = null;
    			     ActionMessages messages = new ActionMessages();
    			     ActionMessage newMessage = null;
    				if ( !errors.isEmpty() )
    				{
    					this.saveErrors(request,errors);
    					return map.findForward("addProjet");
    				}
    				else
    				{
    					Boolean t=  gp.addProjet(pf.getProjet().getIntituleProjet(), Date.valueOf(pf.getDated()),
    							Date.valueOf(pf.getDatef()),pf.getProjet().getDescription(),pf.getSelectedItem());
     
    					if(t) {
    						newMessage = new ActionMessage("message.ajout.projet.succes");
    						messages.add("msgajoutprojet", newMessage);
    						this.saveMessages(request, messages); 
    						pf.setProjets(gp.getAllProjet());
    						pf.setMotcle("");
    						return map.findForward("VueProjet");
    					}
    					else {
    			        	newError = new ActionError("errors.doublons.projet.Database");
    			        	errors.add(ActionErrors.GLOBAL_ERROR, newError);
     
    			        	saveErrors(request, errors);
    			        	return  map.findForward("addProjet");
    					}
    				}
     
    			}	
    			else if(pf.getAction().equals("Modifier")){	
     
    				 ActionMessages errors = form.validate(map,request);
    			     ActionError newError = null;
     
    			    ActionMessages messages = new ActionMessages();
    			    ActionMessage newMessage = null;
    				if ( !errors.isEmpty() )
    				{
    					this.saveErrors(request,errors);
    					return map.findForward("editProjet");
    				}
    			else
    				{
    				    pf.getProjet().setDateDebut(Date.valueOf(pf.getDated()));
    				    pf.getProjet().setDateFin(Date.valueOf(pf.getDatef()));
    					Boolean t=  gp.updateProjetP(pf.getProjet(),new Long(pf.getSelectedItem()));
    					if(t) {
    						newMessage = new ActionMessage("message.modif.projet.succes");
    						messages.add("msgmodifprojet", newMessage);
    						this.saveMessages(request, messages); 
    						pf.setProjets(gp.getAllProjet());
    						pf.setMotcle("");
    						return map.findForward("VueProjet");
    					}
    			else {
    			       newError = new ActionError("errors.doublons.projet.Database");
    			       errors.add(ActionErrors.GLOBAL_ERROR, newError);
     
    			        saveErrors(request, errors);
    			       	return  map.findForward("editProjet");
    					}
    				}
    			}
    			else if(pf.getAction().equals("Ajouter")){
    						pf.setProjet(new Projet());
    						return map.findForward("addProjet");
    					}
    					return map.findForward("VueProjet");
    				}
    }
    en plus il y a certains traitement que j'utiliserai meme dans la modification, par exemple si l'utilisateur a supprimé le nom du projet je dois lui indiqué ca

    j'aimerais bien que j'étais claire ?

  4. #4
    Débutant
    Inscrit en
    Septembre 2007
    Messages
    372
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 372
    Points : 86
    Points
    86
    Par défaut
    merci beacoup ZOOM, ca marche merci beacoup

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 0
    Dernier message: 11/11/2013, 15h21
  2. plusieurs boutons dans une meme form
    Par toutou2000 dans le forum Struts 1
    Réponses: 6
    Dernier message: 20/08/2008, 12h20
  3. Deux positions différents dans un meme DIV ?
    Par w_o0o_w dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 07/10/2007, 18h15
  4. Réponses: 11
    Dernier message: 28/08/2007, 13h18
  5. deux bouttons submit dans le meme formulaire
    Par nath-0-0 dans le forum Langage
    Réponses: 1
    Dernier message: 25/11/2005, 21h51

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