W każdym projekcie który zaczynam, od nowa pisze się mechanizmy walidacji popularnych rzeczy typu: PESEL, NIP, poprawnosć daty urodzenia względem numeru PESEL, adres e-mail itp. Czy znacie jakąś bibliotekę która to robi? Za każdym razem kiedy czegoś takiego potrzebowałem, niczego nie potrafiłem znaleźć. Jak powinna wyglądać taka biblioteka aby odniosła sukces (była wygodna i popularna wśród programistów)? Macie jakieś sugestie na czym można się wzorować żeby to było dobre, jak powinny być zorganizowane klasy, jakie wzorce byście wykorzystali?
--
--
Wiadomość z grupy Warszawa Java User Group (Warszawa JUG).
Zachęcamy do odwiedzenia naszej strony domowej http://warszawa.jug.pl
Zakaz umieszczania ofert pracy, do tego celu służy oddzielna grupa, więcej na http://warszawa.jug.pl/#/cooperation
---
Otrzymujesz tę wiadomość, bo subskrybujesz grupę „Warszawa Java User Group (Warszawa JUG)” w Grupach dyskusyjnych Google.
Aby anulować subskrypcję tej grupy i przestać otrzymywać od niej wiadomości, wyślij e-maila na warszawa-jug...@googlegroups.com.
Aby opublikować wpis w tej grupie, wyślij e-maila na warsza...@googlegroups.com.
Więcej opcji znajdziesz na https://groups.google.com/d/optout.
Tylko czy na pewno potrzebujesz czegoś więcej? Może jako programista chciałbyś to mieć, ale czy użytkownik tego potrzebuje? Walidacja peselu ma na celu zapobieganie zwykłych pomyłek przy jego wprowadzaniu. System zgłasza, że pesel jest niepoprawny, to użytkownik wklepuje/przepisuje go na nowo. W zupełności wystarczy, jeśli walidator sprawdzi tylko sumę kontrolną i zgłosi jej niepoprawność. Za krótki / za długi – to możesz zapewne zdefiniować w kontrolce pola formularza, która zgłosi błąd jeszcze przed wysłaniem na serwer. Jeśli chcesz walidować datę urodzenia, to zrób to raczej dla pola daty urodzenia, które będzie porównywać ją z peselem.
Pamiętaj o najważniejszym, o czym wielu zapomina. Jest trochę numerów PESEL, które kiedyś zostały źle wygenerowane (raczej kilkadziesiąt lat temu, teraz już się pewnie to nie zdarza). Walidacja PESEL’u musi być opcjonalna, tj. użytkownik ma dostać ostrzeżenie, ale musi dalej mieć możliwość zatwierdzenia formularza. Zdarzają się też przypadki, że dwie osoby mają taki sam PESEL, więc unique constraint również odpada 😊
Pozdrawiam
Piotr Ostrowski