goede inzending. Jammer dat CSS niet toont -> bespreken tijdens de les. Om de fout bij add/update correct op te vangen: lees goed de foutboodschap in de console (dbcSQLIntegrityConstraintViolationExceptio) groep 12-05 https://github.com/UCLLIPMinor-2122-classroom/project-ipminor-125/releases/tag/v1 Algemeen Club: functionaliteiten Ingediende versie op GitHub heeft release v1 (en niet enkel getagd) x Project heeft juiste structuur, aangepaste .gitignore x Op Toledo staat een correcte link naar GitHub x Toevoegen (m.i.v. validatie) o als formulier opgevraagd wordt, zijn alle velden leeg (ook numerieke velden) bij verkeerde invoer blijven reeds ingevulde waarden behouden o bestaande waarden worden correct getoond in formulier x validatie o niet-bestaand id ingeven via url geeft aangepaste foutboodschap x niet-bestaand id ingeven via url geeft aangepaste foutboodschap x eigenlijke verwijderen gebeurt via POST request x er is een bevestigingspagina die gebruiker voldoende info geeft x Overzicht indien er geen items zijn om te tonen, staat er geen tabel maar gepaste tekst x Zoeken op max aantal leden indien er geen items zijn om te tonen, staat er geen tabel maar gepaste tekst x formulierveld is initieel leeg, maar behoudt waarde na zoekopdracht (zodat gebruiker weet wat hij gezocht heeft) x indien er geen items zijn om te tonen, staat er geen tabel maar gepaste tekst x formulierveld is initieel leeg, maar behoudt waarde na zoekopdracht x Hoofdlettergevoelig? Spaties? x formulierveld is initieel leeg, maar behoudt waarde na zoekopdracht x Sorteren op naam indien er geen items zijn om te tonen, staat er geen tabel maar gepaste tekst x Sorteren op max aantal deelnemers indien er geen items zijn om te tonen, staat er geen tabel maar gepaste tekst x Tweetaligheid titels en foutboodschappen overal geïmplementeerd Updaten Deleten Zoeken op max aantal leden en hoger Zoeken naam bevat string error page indien uniqueness niet gerespecteerd wordt. Zoek uit welke exception @unique opgooit en catch die in de controller (of service) errorpage maar geen correcte html Klassenaam is fout: moet Collection zijn. Volgend assignment heeft klasse Coin nodig (rechts klikken > refactor > rename) MuntCollectie: functionaliteiten Toevoegen (m.i.v. validatie) als formulier opgevraagd wordt, zijn alle velden leeg (ook numerieke velden) bij verkeerde invoer blijven reeds ingevulde waarden behouden Updaten bestaande waarden worden correct getoond in formulier validatie niet-bestaand id ingeven via url geeft aangepaste foutboodschap Deleten niet-bestaand id ingeven via url geeft aangepaste foutboodschap eigenlijke verwijderen gebeurt via POST request o jaar is al ingevuld zie verder opmerkingen bij club er is een bevestigingspagina die gebruiker voldoende info geeft Overzicht indien er geen items zijn om te tonen, staat er geen tabel maar gepaste tekst Zoeken tot jaartal (end before) indien er geen items zijn om te tonen, staat er geen tabel maar gepaste tekst formulierveld is initieel leeg, maar behoudt waarde na zoekopdracht (zodat gebruiker weet wat hij gezocht heeft) Zoeken op jaartal indien er geen items zijn om te tonen, staat er geen tabel maar gepaste tekst formulierveld is initieel leeg, maar behoudt waarde na zoekopdracht Zoeken naar bepaald land Hoofdlettergevoelig? Spaties? formulierveld is initieel leeg, maar behoudt waarde na zoekopdracht Club: code Sorteren op land (Z -> A) indien er geen items zijn om te tonen, staat er geen tabel maar gepaste tekst Sorteren op jaartal (oudste -> huidige) indien er geen items zijn om te tonen, staat er geen tabel maar gepaste tekst Tweetaligheid titels en foutboodschappen overal geïmplementeerd Bootstrap/layout Layout voldoet aan principes van CRAP (Contrast, Repetition, Alignment, Proximity) o css wordt niet getoond Layout ondersteunt bruikbaarheid (i.h.b. bij zoekformulieren en sorteerknoppen) Thymeleaf/fragments/headers th:for, geen id in input o th:action o objecten correct doorgegeven x parameters worden correct doorgegeven x gegenereerde html is correct en valide o overview: pagina is onbegrijpbaar zonder css; idem voor bevestigingspagina bij delete -> verzorg je HTML i18n alle titels, foutboodschappen zijn vertaald Club: annotations + validatie Gebeurt validatie dmv annotations? (geen if-en in setters) x maar sql-fouten worden niet opgevangen Repo: JPA Correcte manier van querying (@Query niet gebruiken) o query is overbodig Service annotations Controler validatie bij add/update o Controller: mappings leesbare navigatie (club/overview, club/update etc) x redirect indien nodig x @Autowired (DI), @Controller x correcte annotation x validatie: @Valid, BindingResult x PathVariable vs RequestParameter x default value x Controller: parameters zoeken moet getrequest zijn zie hoger goed gebruik van @requestparam bij search MuntCollectie: code Bootstrap/layout Thymeleaf/fragments/headers Layout voldoet aan principes van CRAP (Contrast, Repetition, Alignment, Proximity) o css wordt niet getoond Layout ondersteunt bruikbaarheid (i.h.b. bij zoekformulieren en sorteerknoppen) zie opmerkingen bij Club th:for, geen id in input th:action objecten correct doorgegeven parameters worden correct doorgegeven gegenereerde html is correct en valide i18n alle titels, foutboodschappen zijn vertaald Munt: annotations + validatie Gebeurt validatie dmv annotations? (geen if-en in setters) Repo: JPA Correcte manier van querying (@Query niet gebruiken) Service annotations Controller validatie bij add/update Controller: mappings leesbare navigatie (munt/overview, munt/update etc) redirect indien nodig @Autowired (DI), @Controller Controller: parameters correcte annotation validatie: @Valid, BindingResult PathVariable vs RequestParameter default value o query is niet nodig search moet get-request zijn