Vraag & Antwoord

Webprogrammeren & scripting

[HTML/JS/PHP] Attributen voor form-validatie?

8 antwoorden
  • Beste mensen, Ik wil graag een script schrijven om zowel client side als server side validatie te doen van een form. Ik had bedacht dat ik dat kon doen dmv een php-klasse die de form-html genereert inclusief een attribuut op alle input-velden waarin ik een regexp of iets dergelijks zet. Op die manier garandeer ik dat aan beide zijden dezelfde validatie plaatsvindt. Probleem is alleen dat er natuurlijk niet echt een geschikt attribuut is om de regexp (of bijvoorbeeld een "required"-eigenschap) in te plaatsen. Aan jullie dan ook de vraag: hoe zouden jullie dit oplossen? Wat is een geschikt attribuut? (X)HTML5 is voorlopig geen optie voor mij, en ik zou graag hebben dat de (x)html uiteindelijk valideert. Alle bijdragen in deze online brainstormsessie zijn welkom! - Bas
  • Een attribuut toevoegen kan natuurlijk, wanneer je zelf in je doctype aangeeft wat dat attribuut betekent. Dan blijf je nog steeds valideren. Echter heb ik geen flauw idee of je met een attribuut ook een regex kan uitvoeren. Het blijft immers HTML en HTML is puur markup. Client side kom je daarom eerder bij javascript uit denk ik. Javascript kent iig wel regexes. Deze zijn weliswaar niet zo krachtig als de PRCE regexes van PHP, maar met een beetje creatief knutselen kun je misschien wel exact dezelfde patterns gebruiken. Die patterns kun je natuurlijk heel goed doorgeven vanuit PHP in de output naar HTML/JS.
  • [quote:0f815bacb4="Ger"]Een attribuut toevoegen kan natuurlijk, wanneer je zelf in je doctype aangeeft wat dat attribuut betekent. Dan blijf je nog steeds valideren.[/quote:0f815bacb4]Goed punt, toch maar eens uitzoeken hoe zoiets moet... Iemand een link met leesmateriaal dat als goed startpunt kan dienen? [quote:0f815bacb4="Ger"]Echter heb ik geen flauw idee of je met een attribuut ook een regex kan uitvoeren. Het blijft immers HTML en HTML is puur markup.[/quote:0f815bacb4]Natuurlijk kan dat niet met HTML, maar zo heb ik wel een manier om met PHP via HTML de benodigde gegevens door te geven aan JavaScript. Het grootste probleem is dat ze op andere sites zo ongelooflijk moeilijk doen óf simpelweg niet validerende code gebruiken. Dat moet beter kunnen. - Bas
  • Interessante thread! Zit zelf ook al een tijd te stoeien met dit probleem (alleen mentaal dan, dat wel) [quote:585a270737="BasHamar"][quote:585a270737="Ger"]Een attribuut toevoegen kan natuurlijk, wanneer je zelf in je doctype aangeeft wat dat attribuut betekent. Dan blijf je nog steeds valideren.[/quote:585a270737]Goed punt, toch maar eens uitzoeken hoe zoiets moet... Iemand een link met leesmateriaal dat als goed startpunt kan dienen?[/quote:585a270737] Kijk eens naar [url=http://www.xml.com/pub/a/1999/01/namespaces.html]namespaces[/url]
  • [quote:50e3497023="BasHamar"]Goed punt, toch maar eens uitzoeken hoe zoiets moet... Iemand een link met leesmateriaal dat als goed startpunt kan dienen? [/quote:50e3497023][url=http://www.playgarden.com/w3c/TR/xhtml-modularization/dtd_developing.html]Playgarden[/url] heeft een nette vertaling vind ik. Origineel is van W3C ([url=http://www.w3.org/TR/xhtml-modularization]klik[/url]) [quote:50e3497023="BasHamar"]Natuurlijk kan dat niet met HTML, maar zo heb ik wel een manier om met PHP via HTML de benodigde gegevens door te geven aan JavaScript. [/quote:50e3497023]Die snap ik even niet. Waarom wil je een tussenstap maken via HTML en geef je het niet direct door aan JS?
  • [quote:af1e51f293="Ger"][url=http://www.playgarden.com/w3c/TR/xhtml-modularization/dtd_developing.html]Playgarden[/url] heeft een nette vertaling vind ik. Origineel is van W3C ([url=http://www.w3.org/TR/xhtml-modularization]klik[/url])[/quote:af1e51f293]Bedankt! Dat ga ik even doorlezen. [quote:af1e51f293="Ger"]Die snap ik even niet. Waarom wil je een tussenstap maken via HTML en geef je het niet direct door aan JS?[/quote:af1e51f293]Omdat de regexps een eigenschap zijn van inputvulden en niet van iets anders. Ik moet hoe dan ook via PHP iets sturen naar de client side, of dat nou via HTML of JavaScript gaat is voor mij verder gelijk. Bovendien kan ik nu een algemeen en generiek stukje JavaScript schrijven dat ik altijd en overal zonder aanpassingen kan gebruiken om een formulier te valideren. En op dezelfde manier kan ik een stuk PHP schrijven waarmee ik een formulier kan genereren en eventueel kan laten valideren. Omdat het JavaScript een statisch bestand zal zijn kan het gecached worden en daardoor snel en "unobtrusive" worden toegepast. Ik zie overigens ook niet zo goed in hoe het handiger zou zijn om het direct aan JavaScript door te geven, volgens mij maak je het dan alleen maar complexer, maar misschien mis ik daar een bepaald inzicht? Dat zou goed kunnen, ik heb niet zoveel ervaring met JS. NB: met valideren bedoel ik hier het controleren van gebruikersinvoer, niet het schrijven van syntactisch correct HTML of JavaScript. - Bas
  • [quote:06cb83b6c3="BasHamar"]Bovendien kan ik nu een algemeen en generiek stukje JavaScript schrijven dat ik altijd en overal zonder aanpassingen kan gebruiken om een formulier te valideren. En op dezelfde manier kan ik een stuk PHP schrijven waarmee ik een formulier kan genereren en eventueel kan laten valideren. Omdat het JavaScript een statisch bestand zal zijn kan het gecached worden en daardoor snel en "unobtrusive" worden toegepast.[/quote:06cb83b6c3]Dat is een hele goede reden, waar ik nog niet aan had gedacht. :) [quote:06cb83b6c3="BasHamar"] Ik zie overigens ook niet zo goed in hoe het handiger zou zijn om het direct aan JavaScript door te geven, volgens mij maak je het dan alleen maar complexer, [/quote:06cb83b6c3]Neuh, niet per se complexer. Maar zo bezien inderdaad wel minder flexibel. Succes, en ik ben benieuwd naar het resultaat!
  • Marien! De eerste keer helemaal jouw reactie over het hoofd gezien! :oops: [quote:870b7a04fc="marientje"]Interessante thread! Zit zelf ook al een tijd te stoeien met dit probleem (alleen mentaal dan, dat wel) [...] Kijk eens naar [url=http://www.xml.com/pub/a/1999/01/namespaces.html]namespaces[/url][/quote:870b7a04fc] Bedankt, zal ik ook zeker gaan doorlezen. Mocht ik binnenkort* iets werkbaars hebben dan zal ik dat laten weten. Mochten jullie in de tussentijd nog goede ideeën of interessant leesvoer tegenkomen dan hoor ik het graag. Ik zal zelf ook eventuele goede bronnen hier plaatsen. [quote:870b7a04fc="Ger"]Neuh, niet per se complexer. Maar zo bezien inderdaad wel minder flexibel.[/quote:870b7a04fc] Ok, die krijg je van me. ;) - Bas [size=9:870b7a04fc]* binnenkort is volledig ongedefinieerd en volkomen afhankelijk van de vrije tijd die ik hiervoor kan vrijmaken en de voortgang in deze tijd.[/size:870b7a04fc]

Beantwoord deze vraag

Weet jij het antwoord op deze vraag? Registreer of meld je aan met je account

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.