Tokens en Formulieren
Een formulier wil je over het algemeen niet twee keer insturen. Daarom maakt WhosWho4 gebruik van Tokens. Elk formulier heeft een hidden
veld genaamd token
, waar een unieke waarde in staat. Als twee keer dezelfde waarde langskomt, is een formulier dus dubbel ingestuurd. De methode Token::processNamedForm()
zoekt uit of de tokens kloppen, en returnt de naam van het formulier (die van HtmlForm::named()
) als alles ok is, en toont een "Dit formulier is al gesubmit, heb je op f5 gedrukt?"-error als het mis is.
Een veld heeft over het algemeen een name-attribuut van de vorm 'DBObject[Veld]' zoals 'Lid[Voornaam]'. Let dus op dat het niet 'Persoon[Voornaam]' is, zelfs al is Voornaam een veld van de Persoon-klasse. Omdat zulke rechte haakjes niet in een css/js-selector passen, worden in de id's van bijvoorbeeld de formPersoonVerzameling, alle niet-alfanumerieke karakters eruit gemangeld. De resulterende selector is bijvoorbeeld '#VeldDropDown_DBObjectVeld' of '#PersoonVerzamelingZoekVak_IntroClusterPersoon'.