Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    Controllare oggetti nella relazione prima di persisterli nel db: validazione del dto

    Salve,

    Provo a porre un quesito su un problema che sto affrontando per capire quale possa essere una soluzione passabile e/o migliore:

    Io ho un dto che, per semplicità, rappresenta un Contact(nome/cognome/etc) che possiede vari Address (via/citta/etc), ognuno dei quali address ha un oggetto Label. Il contact appartiene ad uno User. La label può appartenere allo User o essere di Sistema. Quindi una cosa del tipo:

    codice:
    class Contact{
    
    ....
    List<Address> addresses;
    ..
    }
    
    class Address{
      ...
       Label label;
    }
    Devo validare questo dto prima di procedere nella catena per la persistenza. Ho due validazioni:

    1) campi obbligatori o con altri tipi di constraints "base": fatto, spring validator e annotations e tutto è andato perfettamente

    2) Validare l'oggetto Label:

    praticamente prima di procedere alla persistenza dovrei rispondere a queste domande: è una label di sistema? è dell'utente? è una label nuova? deve essere aggiornata la label nel db? non devo fare nulla? Questo perchè Label è posta sotto "versioning" (così come contact) e risponde a delle regole complesse e precise.

    Quindi: come posso fare ad assicurarmi che le label del dto siano valide ai miei fini? Considerando che in realtà Contact è un oggetto molto complesso, con Label sparse un pò dappertutto, cosa dovrei fare, un validatore custom? estrarre tutte le label e fare i test del caso? "Famose a fidarmi dell'input" e chiudiamo gli occhi?

    Come si può affrontare un problema simile secondo voi?

    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  2. #2
    Vabbè alla fine ho fatto un Validator di Spring che si scorre tutto Contact e relazioni varie in cerca di Label e richiama sulla label il validatore business di interesse.
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.