A címpozíció adatai, a csekkek bizonyos mező, tértivevény adatainak mérete fizikailag kötött. Hogy megfelelően elő tudjuk állítani az említett nyomdai termékeket, validálnunk kell a bejövő adatokat.

Jelenleg ezen mezők maximális méretének meghatározására a felhasználandó területre írt "M" karakterek maximális számához hasonlítjuk az adatok karakterhosszát. Ez az eljárás azonban túlságosan szigorú. Pl. a címzett címsorai max 68 mm hosszúak, Arial 10-es fontot alkalmazva "M" karakterből maximum 22 db fér el (64.6 mm), míg a leghosszabb budapesti közterületet használva, lépcsőházjelölést és az emelet és ajtót is megnevezve 44 karakter fér el (67.7 mm). Néhány példa cím Arial 10 font használatával:

CímHossz (mm)Karakterszám

Gagarin tér 1 2/3 a

29,5

17

Gagarin tér 11 fsz. 2

32,3

21

Könyves Kálmán krt. 45/A 1. e. 4. a

55,6

36

Könyves Kálmán körút. 45/A 1. e. 4. a

59,6

38

Ferihegyi repülőtérre vezető út 88/a 1 e 4 a

67,7

44

Ferihegyi repülőtérre vezető út 88/a 1. e. 4. a

70,4

47

MMMMMMMMMMMMMMMMMMMMMM

64,6

22

A szövegméret mérésének tűrése 0,5 mm.

Ebből következik, hogy a kötött méretű adatok validációját pontos a szövegméret meghatározása alapján kell elvégezni, nem pedig a maximum karakterszám meghatározásával.

Validációs variánsok

A kötött méretű, nyomtatandó adatok validációjának két módszerét állapítottuk meg.

a.) Dinamikus szövegméret számítás és hiba reportálás

Az aktuális font alapjáb kiszámítjuk a szöveg hosszát, majd a mezőkhöz definiált maximum hosszúsággal összevetve, ha meghaladja: validációs hibát dobunk.

b.) Dinamikus szövegméret számítás és csonkolás

Ha az a.) variáns vizsgálata szerint invalid az adat: visszacsonkoljuk az adatot, ameddig elfér a megadott területen.

Célszerűnek tartom, hogy az adatbázisban a csonkolt adatokat tároljuk el.

Validációs variánsok kombinálása

Elképzelhető és életszerű, hogy az ügyfél bizonyos esetekben csonkolni szeretne, más esetben pedig validációs hibát várna. Ennek megvalósítására biztosítani kell, hogy az ügyfél meg tudja jelölni: mely adatokat szeretné csonkolni, és melyeket szeretné, ha megakadnának a validáció során. Az adott modell osztályokat ki kell egészíteni egy dataOverflowHandlingMode nevű adattaggal, amelynek értékei a következőek lehetnek:

Az alapértelmezett érték a TRUNCATE mód.

A kiegészítendő modell osztályok:

A címek validálására egyedi logikára van szükségünk (lásd: Címsorok méretének validációja).