Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

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

Info
titleA szövegméret tűrése

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 a 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:

  • VALIDATION_ERROR: a.) variáns
  • TRUNCATE: b.) variáns

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

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

  • YellowCheque
  • WhiteCheque
  • RecordedDelivery
  • OfficialMailRecordedDelivery
  • ResponseEnvelope?
  • Egyéb?

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).

A validálandó adatok méretmegkötéseiről részletesebben lásd: Kötött méretű, nyomtatandó adatok szélessége.