Tokens en Formulieren

From A-Eskwiki
Jump to: navigation, search

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