Messaggi d'errore registrazione

di il
60 risposte

60 Risposte - Pagina 3

  • Re: Messaggi d'errore registrazione

    saraciao ha scritto:


    Ok però siccome per il numero civico utilizzo una textFild come faccio? allora stesso modo di cap?
    Sì, è pur sempre la validazione di una banale stringa. Il JTextField non c'entra (direttamente).

    saraciao ha scritto:


    inoltre ora mi da problemi su ctrl.VisualizzazioneAvvisi(validazioni.getMessaggiErrore());
    Chiaramente ctrl.VisualizzazioneAvvisi() deve poter ricevere un List<String>
  • Re: Messaggi d'errore registrazione

    andbin ha scritto:


    saraciao ha scritto:


    Ok però siccome per il numero civico utilizzo una textFild come faccio? allora stesso modo di cap?
    Sì, è pur sempre la validazione di una banale stringa. Il JTextField non c'entra (direttamente).

    saraciao ha scritto:


    inoltre ora mi da problemi su ctrl.VisualizzazioneAvvisi(validazioni.getMessaggiErrore());
    Chiaramente ctrl.VisualizzazioneAvvisi() deve poter ricevere un List<String>
    cosi:
    
    public boolean Controllo_NumeroCivico(String numeroCivico, String msgMancante, String msgInvalido) {
    		int numCivico;
    		  if (numeroCivico == null || numeroCivico.isEmpty()) {
    	            messaggiErrore.add(msgMancante);
    	            return false;
    	        }
    		    if(numCivico<=0) {
    		    	messaggiErrore.add(msgInvalido);
    	            return false;
    	        }
    
    	        return true;
    	    }
    		
       }
    Metre per ctrl.VisualizzazioneAvvisi() devo creare una nuova jDialog di avvisi che ha come parametri List<String>?
  • Re: Messaggi d'errore registrazione

    saraciao ha scritto:


    cosi:
    
    public boolean Controllo_NumeroCivico(String numeroCivico, String msgMancante, String msgInvalido) {
    		int numCivico;
    		  if (numeroCivico == null || numeroCivico.isEmpty()) {
    	            messaggiErrore.add(msgMancante);
    	            return false;
    	        }
    		    if(numCivico<=0) {
    		    	messaggiErrore.add(msgInvalido);
    	            return false;
    	        }
    
    	        return true;
    	    }
    		
       }
    Nì. Il primo test è ok. Il secondo no. numCivico è una stringa, la devi parsare (e se c'è un errore di parsing, si ricade comunque nel caso "non valido").

    saraciao ha scritto:


    Metre per ctrl.VisualizzazioneAvvisi() devo creare una nuova jDialog di avvisi che ha come parametri List<String>?
    Devi solo gestire diversamente il passaggio dei dati, non creare una nuova dialog!
  • Re: Messaggi d'errore registrazione

    andbin ha scritto:


    saraciao ha scritto:


    cosi:
    
    public boolean Controllo_NumeroCivico(String numeroCivico, String msgMancante, String msgInvalido) {
    		int numCivico;
    		  if (numeroCivico == null || numeroCivico.isEmpty()) {
    	            messaggiErrore.add(msgMancante);
    	            return false;
    	        }
    		    if(numCivico<=0) {
    		    	numCivico=Integer.parseInt(textField_N_Civico.getText().toString());
    		    	messaggiErrore.add(msgInvalido);
    	            return false;
    	        }
    
    	        return true;
    	    }
    		
       }
    e

    Nì. Il primo test è ok. Il secondo no. numCivico è una stringa, la devi parsare (e se c'è un errore di parsing, si ricade comunque nel caso "non valido").

    saraciao ha scritto:


    Metre per ctrl.VisualizzazioneAvvisi() devo creare una nuova jDialog di avvisi che ha come parametri List<String>?
    Devi solo gestire diversamente il passaggio dei dati, non creare una nuova dialog!
    Quindi cosi:
    
    public boolean Controllo_NumeroCivico(String numeroCivico, String msgMancante, String msgInvalido) {
    		int numCivico;
    		  if (numeroCivico == null || numeroCivico.isEmpty()) {
    	            messaggiErrore.add(msgMancante);
    	            return false;
    	        }
    		    	numCivico=Integer.parseInt(textField_N_Civico.getText().toString());
    		    if(numCivico<=0) {
    		    	messaggiErrore.add(msgInvalido);
    	            return false;
    	        }
    
    	        return true;
    	    }
    		
       }
    e
    validazioni.Controllo_NumeroCivico(numCivico, "Inserisci il numero civico", "Il numero Civico inserita non è valida");
    
    Questo " gestire diversamente il passaggio dei dati" intendi in visualizzaAvvisi e come?
  • Re: Messaggi d'errore registrazione

    saraciao ha scritto:


    
    		    	numCivico=Integer.parseInt(textField_N_Civico.getText().toString());
    		    if(numCivico<=0) {
    		    	messaggiErrore.add(msgInvalido);
    	            return false;
    	        }
    
    Il parseInt può fallire. L'eccezione va catturata e se avviene, si ricade nel caso msgInvalido

    E NON deve c'entrare lì un JTextField !

    saraciao ha scritto:


    validazioni.Controllo_NumeroCivico(numCivico, "Inserisci il numero civico", "Il numero Civico inserita non è valida");
    
    Questo " gestire diversamente il passaggio dei dati" intendi in visualizzaAvvisi e come?
    Il metodo del controller riceverà un List<String> e la tua classe-dialog VisualizzazioneAvvisi avrà un metodo che riceve un List<String> .
    Tutto qui, deve essere tutto coerente, ovviamente.
  • Re: Messaggi d'errore registrazione

    andbin ha scritto:


    saraciao ha scritto:


    
    		    	numCivico=Integer.parseInt(textField_N_Civico.getText().toString());
    		    if(numCivico<=0) {
    		    	messaggiErrore.add(msgInvalido);
    	            return false;
    	        }
    
    Il parseInt può fallire. L'eccezione va catturata e se avviene, si ricade nel caso msgInvalido

    E NON deve c'entrare lì un JTextField !

    saraciao ha scritto:


    validazioni.Controllo_NumeroCivico(numCivico, "Inserisci il numero civico", "Il numero Civico inserita non è valida");
    
    Questo " gestire diversamente il passaggio dei dati" intendi in visualizzaAvvisi e come?
    Il metodo del controller riceverà un List<String> e la tua classe-dialog VisualizzazioneAvvisi avrà un metodo che riceve un List<String> .
    Tutto qui, deve essere tutto coerente, ovviamente.
    cosi:
    
    	public boolean NumeroCivicoObbligatorio(String numeroCivico, String msgMancante, String msgInvalido) {
    		int numCivico;
    		try {
    			if (numeroCivico == null || numeroCivico.isEmpty()) {
    	            messaggiErrore.add(msgMancante);
    	            return false;
    	        }
    		 } catch (Exception e){
    		     numeroCivico=Integer.parseInt(numeroCivico.toString());
    		    if(numeroCivico<=0) {
    		    	messaggiErrore.add(msgInvalido);
    		    }
    		 }
    	}
    Pero la seconda parte secondo me non va bene ma c'ho provato. Poi nel controller per visualizzaAvvisi ho questo che viene usato anche in altri metodi
    
     public void VisualizzazioneAvvisi(String string) 
        {
        
        	dialogErrore = new VisualizzazioneAvvisi(this,string);
        	dialogErrore.setVisible(true);
        	dialogErrore.setBounds(0, 0,360, 150);
    		dialogErrore.setLocationRelativeTo(menu);
        }
    
    Se cambio con VisualizzazioneAvvisi(ListList<String> erroreStrighe) poi per gli altri metodi non mi va più bene..come devo fare?
  • Re: Messaggi d'errore registrazione

    saraciao ha scritto:


    cosi:
    No.
        public boolean numeroCivicoObbligatorio(String numeroCivico, String msgMancante, String msgInvalido) {
            if (numeroCivico == null || numeroCivico.isEmpty()) {
                messaggiErrore.add(msgMancante);
                return false;
            }
    
            boolean ok = true;
    
            try {
                if (Integer.parseInt(numeroCivico) <= 0) {
                    ok = false;
                }
            } catch (NumberFormatException e) {
                ok = false;
            }
    
            if (!ok) {
                messaggiErrore.add(msgInvalido);
            }
    
            return ok;
        }
    Così è più lungo. Si può ridurre senza la variabile ok, accettando di ripetere 2 volte il add + return.

    saraciao ha scritto:


    Pero la seconda parte secondo me non va bene ma c'ho provato. Poi nel controller per visualizzaAvvisi ho questo che viene usato anche in altri metodi
    
     public void VisualizzazioneAvvisi(String string) 
    
    Se cambio con VisualizzazioneAvvisi(ListList<String> erroreStrighe) poi per gli altri metodi non mi va più bene..come devo fare?
    Puoi fare comunque entrambe/più cose. Avevo già detto prima di usare il costruttore di VisualizzazioneAvvisi solo per creare la dialog. E poi di fare dei metodi (almeno uno) per impostare gli errori. E qui puoi fare tutte le varianti che vuoi:
    - con solo 1 String
    - con un varargs String...
    - con un array String[]
    - con un List<String>
  • Re: Messaggi d'errore registrazione

    andbin ha scritto:


    saraciao ha scritto:


    cosi:
    No.
        public boolean numeroCivicoObbligatorio(String numeroCivico, String msgMancante, String msgInvalido) {
            if (numeroCivico == null || numeroCivico.isEmpty()) {
                messaggiErrore.add(msgMancante);
                return false;
            }
    
            boolean ok = true;
    
            try {
                if (Integer.parseInt(numeroCivico) <= 0) {
                    ok = false;
                }
            } catch (NumberFormatException e) {
                ok = false;
            }
    
            if (!ok) {
                messaggiErrore.add(msgInvalido);
            }
    
            return ok;
        }
    Così è più lungo. Si può ridurre senza la variabile ok, accettando di ripetere 2 volte il add + return.

    saraciao ha scritto:


    Pero la seconda parte secondo me non va bene ma c'ho provato. Poi nel controller per visualizzaAvvisi ho questo che viene usato anche in altri metodi
    
     public void VisualizzazioneAvvisi(String string) 
    
    Se cambio con VisualizzazioneAvvisi(ListList<String> erroreStrighe) poi per gli altri metodi non mi va più bene..come devo fare?
    Puoi fare comunque entrambe/più cose. Avevo già detto prima di usare il costruttore di VisualizzazioneAvvisi solo per creare la dialog. E poi di fare dei metodi (almeno uno) per impostare gli errori. E qui puoi fare tutte le varianti che vuoi:
    - con solo 1 String
    - con un varargs String...
    - con un array String[]
    - con un List<String>
    ok pero poi:
    
      validazioni.NumeroCivicoObbligatorio(Integer.toString(numeroCivico), "Inserisci il numero civico", "Il numero Civico inserita non è valida");
    
    È corretto? Se faccio così è corretto?
    
    	public boolean NumeroCivicoObbligatorio(String numeroCivico, String msgMancante, String msgInvalido) {
    			if (numeroCivico == null || numeroCivico.isEmpty()) {
    	            messaggiErrore.add(msgMancante);
    	            return false;
    			}     
    	        try {
    	        	if (Integer.parseInt(numeroCivico) <= 0) {
    	        		messaggiErrore.add(msgInvalido);
    	        	}
    		  } catch (NumberFormatException e) {
    	            messaggiErrore.add(msgInvalido);
    		  }
    			return true;
    	   }
    
    Nel controller invece faccio:
      
       public void VisualizzazioneAvvisi(String string) 
        {
        
        	if(dialogErrore == null) {
        	dialogErrore = new VisualizzazioneAvvisi(this,string);
        	dialogErrore.setVisible(true);
        	dialogErrore.setBounds(0, 0,360, 150);
    		dialogErrore.setLocationRelativeTo(menu);
        	}
        	else {
                       // cosa devo inserire??	
        	}
        }
    ed il metodo in visualizzaAvvisi come deve crearlo?
  • Re: Messaggi d'errore registrazione

    saraciao ha scritto:


    È corretto? Se faccio così è corretto?
    No, guarda bene, mancano i due return false !
  • Re: Messaggi d'errore registrazione

    andbin ha scritto:


    saraciao ha scritto:


    È corretto? Se faccio così è corretto?
    No, guarda bene, mancano i due return false !
    sisi vero. Nel controller invece faccio:
      
       public void VisualizzazioneAvvisi(String string) 
        {
        
        	if(dialogErrore == null) {
        	dialogErrore = new VisualizzazioneAvvisi(this,string);
        	dialogErrore.setVisible(true);
        	dialogErrore.setBounds(0, 0,360, 150);
    		dialogErrore.setLocationRelativeTo(menu);
        	}
        	else {
                       // cosa devo inserire??	
        	}
        }
    ed il metodo in visualizzaAvvisi come deve crearlo?
    [/quote]
  • Re: Messaggi d'errore registrazione

    saraciao ha scritto:


    sisi vero. Nel controller invece faccio:
    ed il metodo in visualizzaAvvisi come deve crearlo?
    Una cosa tipo:
    public void VisualizzazioneAvvisi(List<String> messaggiErrore) {
        if (dialogErrore == null) {
            dialogErrore = new VisualizzazioneAvvisi(this);     // NON passi errori qui
            dialogErrore.setBounds(0, 0,360, 150);
            dialogErrore.setLocationRelativeTo(menu);
        }
    
        dialogErrore.setMessaggiErrore(messaggiErrore);     // setMessaggiErrore lo devi fare tu
        dialogErrore.setVisible(true);
    }
  • Re: Messaggi d'errore registrazione

    andbin ha scritto:


    saraciao ha scritto:


    sisi vero. Nel controller invece faccio:
    ed il metodo in visualizzaAvvisi come deve crearlo?
    Una cosa tipo:
    public void VisualizzazioneAvvisi(List<String> messaggiErrore) {
        if (dialogErrore == null) {
            dialogErrore = new VisualizzazioneAvvisi(this);     // NON passi errori qui
            dialogErrore.setBounds(0, 0,360, 150);
            dialogErrore.setLocationRelativeTo(menu);
        }
    
        dialogErrore.setMessaggiErrore(messaggiErrore);     // setMessaggiErrore lo devi fare tu
        dialogErrore.setVisible(true);
    }
    Si ma poi ho errore qui:
    ctrl.VisualizzazioneAvvisi("Utente già presente");
  • Re: Messaggi d'errore registrazione

    saraciao ha scritto:


    Si ma poi ho errore qui:
    ctrl.VisualizzazioneAvvisi("Utente già presente");
    Nessuno ti vieta di fare un'altra versione (in overload) di quel metodo. Magari sfruttando l'altro che ti ho appena mostrato passando Arrays.asList(messaggio) per il List<String> (se usi almeno Java 9 anche List.of(messaggio) )
  • Re: Messaggi d'errore registrazione

    andbin ha scritto:


    saraciao ha scritto:


    Si ma poi ho errore qui:
    ctrl.VisualizzazioneAvvisi("Utente già presente");
    Nessuno ti vieta di fare un'altra versione (in overload) di quel metodo. Magari sfruttando l'altro che ti ho appena mostrato passando Arrays.asList(messaggio) per il List<String>
    okok, così va bene:
       
        public void VisualizzazioneAvvisi(String string) {
    
        	dialogErrore = new VisualizzazioneAvvisi(this,string);
        	dialogErrore.setVisible(true);
        	dialogErrore.setBounds(0, 0,360, 150);
    		dialogErrore.setLocationRelativeTo(menu);
           }	
    così va bene?
    
    public void setMessaggiErrore(List<String> messaggiErrore) {
    		this.messaggiErrore = messaggiErrore;
    	}
  • Re: Messaggi d'errore registrazione

    saraciao ha scritto:


    
    public void setMessaggiErrore(List<String> messaggiErrore) {
    		this.messaggiErrore = messaggiErrore;
    	}
    No, non deve essere un banale setter! Deve andare ad aggiornare il JList<String> visualmente.
Devi accedere o registrarti per scrivere nel forum
60 risposte