Készíts adatbekérő és validáló alkalmazást python-ban
A feladat egy olyan alkalmazás elkészítése ami képes bekérni egy html form-ról adatokat, amiket formailag kliensoldalon validálunk regex segítségével, szerver oldalon pedig ismét ellenőrizzük ugyanazokkal a minta illesztésekkel!
- Név (előtag, vezetéknév, keresztnév): Figyeljünk rá, hogy minden rész (amiket az üreshely karakter választ el), nagybetűvel kezdődjön, kivéve azok, amik kötőszavak (da, von, van)! Az előtagok lehetnek kicsi és nagybetűsek is (Dr. dr., phd, ifj., id.).
- Bankszámlaszám: Lehet IBAN és magyar helyi változat
- Telefonszám: Elég a magyar számokra megírni, de figyeljük, arra, hogy kezdődhet +36-tal vagy 06-tal is. Lehet a körzetszám (20,30,70,50,51,80, stb...) előtt és után üreshely, kötőjel, per jel (/), de lehet a körzetszám zárójelek között is! Ha zárójelek között van, attól még lehet elötte és utána is SPACE karakter. A maradék számjegy a körzetnek megfelelő darabszám legyen, pl.: vidéki 56-os körzethez 6 számjegy tartozik! Mobil szolgáltatók esetén 7 számjegy van a szolgáltató azonosító után! A körzet / szolgáltatóazonosító utáni számok között több fajta felosztás lehet, ezek közül bármelyik 2-t elég lefedni mintával (pl.: 123-4567 vagy 12 34 567).
- UUID: Wikipedia segítség
- ISBN szám: Wikipedia segítség
- Email cím: Wikipedia segítség
- URL (kezdődhet http / https / ws / ftp protokollal)
POST egy flask alkalmazásnak
- Hozzunk létre egy Flask alkalmazást!
- Legyen egy GET metódusa, ami jinja2 segítségével kirenderel egy külön HTML sablont!
- Legyen egy POST metódusa, ahova a Form adatait vissza tudjuk küldeni SUBMIT gomb segítségével
- A HTML sablonban használjuk a required és pattern attribútumokat minden mezőnél
- Validálja le a mezőket, ugyanazokkal a reguláris kifejezésekkel, amiket a pattern attribútumba írtunk
- Hibaüzenetekkel jelezze a felhasználónak a HTML oldal tetején, hogy milyen hibák voltak.
- Piros színű legyen a hibaüzenet háttere vagy szövegszíne
Egységteszt írása a backend oldali validálásra
Készíteni kell minden validáló függvényhez egy pozitív és negatív egységtesztet! Ehhez az alkalmazást úgy szükséges felépíteni, hogy a validáló függvények egy külön fájlban legyenek!
Általános elvárás az alkalmazással szemben
- Legyen külön fájlban a HTML sablon!
- Legyenek külön fájlban a reguláris kifejezések konstansként definiálva!
- Legyen külön teszt osztály a python Unittest használatával, ugyancsak külön fájlban!