xesj.spring.validation
    
    Tartalomjegyzék
    
    
    alapok
    
      - 
        A konverzió, validáció támogatását a xesj.spring.validation package-ben lévő osztályok végzik.
        A két legfontosabb osztály:
        
          - ValidationContext
- FormValidationContext
 
- 
        A példákban a validációs osztályok meghívása lambda kifejezéssel történik. Ennek oka, hogy a validációk csak akkor
        fussanak le, amikor a validation context ennek értelmét látja. Ha a konverzió sikertelen volt, akkor nincs értelme
        validációt végrehajtani. Ha egy mezőhöz maximum 2 hibaüzenet megengedett, és a 2 hibaüzenet már megvan, akkor  
        szintén nincs értelme a mezőn még több validációt végrehajtani.
      
- 
        enableAddMessage() metódus:
 Ez a metódus jelen van a ValidationContext, és a FormValidationContext osztályban is.
        Saját validáció meghívása előtt érdemes ezt a metódust meghívni, ugyanis ez figyelembe veszi, hogy a mezőhöz
        hozzáadható-e új hibaüzenet, vagy sem. Ha volt konverziós hiba, akkor biztos nem adható hozzá új hibaüzenet,
        és akkor sem ha a hibaüzenetek száma már elérte a megengedett maximumot.
FormValidationContext
    
      - 
        A FormValidationContext osztályt akkor használjuk, ha html űrlap-pal dolgozunk. 
        Ennek adattartalmát a spring keretrendszer automatikusan konvertálja a form objektumba. 
        Tehát itt nem nekünk kell kezelni a konverziót, és a konverziós hibaüzeneteket sem mi állítjuk elő,
        hanem a spring veszi ki őket a messages.properties fájlból. A validációt viszont nekünk kell elvégezni. 
        A hibaüzenetek automatikusan megjelennek az input mezők mellett, ha erre felkészítettük a view-t.
      
- 
        A példában egy html űrlapon az A, B, C mezőbe bekérjük egy háromszög oldalait, és ezt ellenőrizzük le.
        Mindhárom mező kitöltése kötelező, a mezőknek egy lebegőpontos számot kell tartalmazni, a megadott minimum értékkel.
        A háromszögnek megrajzolhatónak kell lennie, így vizsgálni kell az oldal méreteket.
        
      
ValidationContext
    
      - 
        A ValidationContext osztályt akkor használjuk, ha az egész konverziós, validációs eljárást mi kezeljük, 
        például egy excel fájl tartalmát dolgozzuk fel. 
        A cellák tartalmát előszőr konvertálni kell a megfelelő adattípusra, majd ezen adattípuson kell végrehajtani
        egy vagy több validációt. A konverzió, validáció során keletkezett hibaüzeneteket össze kell gyűjteni, 
        és megjeleníteni, vagy az adatküldő számára visszajuttatni.        
      
- 
        A példában egy excel fájl 100 sorát kell ellenőrizni, ahol az 5. oszlopban irányítószámok vannak.
        Az irányítószámot tartalmazó cellának kitöltöttnek kell lennie, 1000-9999 közé kell esnie,
        és ha budapesti, akkor a kerületet is ellenőrizni kell. 
        Az utóbbira nincs validátor, így látható hogy lehet egy ellenőrző metódust beépíteni.        
        
      
- 
        Marker
 A ValidationContext objektumhoz a hibaüzeneteken kívül tetszőleges objektumot is hozzá lehet rendelni,
 tehát olyan információt is tárolhatunk benne, mely nem tartozik szorosan a hibaüzenetekhez.
 Például beállíthatjuk a kivánt response http státuszát, majd egy exception handler-ben ezt kiolvashatjuk: