login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Formulier validatie

Offline Ijspegel - 24/04/2008 20:52
Avatar van IjspegelNieuw lid Ik controleer mijn formulier met javascript (ook nog met PHP, mocht JS uitgeschakeld zijn), maar ik stuit nog op 2 probleempjes.

1. Ik wil bij alle velden controleren of er wel iets is ingevuld. Dat doe ik nu met == "", maar dan kunnen bezoekers nog wel gewoon spaties invullen en het uiteindelijk verzenden. Hoe kan ik er nou voor zorgen dat er minimaal echt 1 karakter is ingevuld en dus niet spaties?

2. Ik wil het e-mailadres controleren op geldigheid. In PHP doe ik dit met
  1. !preg_match('/^[A-Za-z0-9\+._-]+@[A-Za-z0-9._-]+\.[A-Za-z]{2,6}$/', $inhoud))
, maar dat werkt logischerwijs niet voor javascript. Hoe kan ik dit nou ook werkend krijgen in mijn javascript code?

Dit is mijn scriptje wat ik tot nu toe heb:
  1. function controleer_formulier(formulier)
  2. {
  3. if (formulier.naam.value == "")
  4. {
  5. alert( "Geen naam ingevuld." );
  6. formulier.naam.focus();
  7. return false;
  8. }
  9. if (formulier.email.value == "")
  10. {
  11. alert( "Geen geldig e-mail adres ingevuld.." );
  12. formulier.email.focus();
  13. return false;
  14. }
  15. if (formulier.toelichting.value == "")
  16. {
  17. alert( "Geen toelichting ingevuld." );
  18. formulier.toelichting.focus();
  19. return false;
  20. }
  21. }


Ik hoop dat jullie mij willen helpen.  

6 antwoorden

Gesponsorde links
Offline Ultimatum - 24/04/2008 21:09
Avatar van Ultimatum PHP expert Gooi eerst trim() over je string om alle spaties voor en na je string te verwijderen, daarna kan je met strlen() kijken hoeveel karakters de string zonder spaties heeft.
Offline Ijspegel - 24/04/2008 21:14
Avatar van Ijspegel Nieuw lid Dat zijn toch PHP functies en geen Javascript functies?Sorry, maar wk wil in deze code alleen maar Javascript hebben.
Offline Rens - 24/04/2008 22:46 (laatste wijziging 24/04/2008 22:46)
Avatar van Rens Gouden medaille

Crew algemeen
strlen voor javascript.
google
2e hit
Offline Ijspegel - 24/04/2008 23:19
Avatar van Ijspegel Nieuw lid Oke, dank je wel, maar daarmee is het spatie probleem toch nog niet opgelost. Een spatie ziet hij dan ook als karakter toch?

En probleem 2 lijk ik opgelost te hebben. Ik heb nu de volgende code:
  1. var reg = new RegExp(/^[A-Za-z0-9\+._-]+@[A-Za-z0-9._-]+\.[A-Za-z]{2,6}$/)
  2. if (reg.exec(formulier.email.value) == "" || reg.exec(formulier.email.value) > -1)
  3. {
  4. alert( "U heeft nog geen geldig e-mail adres ingevuld.." );
  5. formulier.email.focus();
  6. return false;
  7. }

reg.exec(formulier.email.value) > -1) lijkt er voor te zorgen dat de spaties niet meegeteld worden. Hierdoor wordt er bij alleen maar spaties dus ook een alert(); gegevens. Zijn jullie hiermee bekend?
Offline Kr4nKz1n - 24/04/2008 23:59
Avatar van Kr4nKz1n Onbekend Niet handig. Als ik JavaScript uit zet?
Geen controle...
Offline Ijspegel - 25/04/2008 07:44
Avatar van Ijspegel Nieuw lid Ehm, dan heb je niet goed gelezen hoor. In mijn openings post staat het volgende:
Citaat:
Ik controleer mijn formulier met javascript (ook nog met PHP, mocht JS uitgeschakeld zijn)probleempjes.

Ik wil uiteraard voorkomen dat de database vervuild wordt met onvolledige data. Ik wil gewoon ook nog een javascript melding uit usability oogpunt. :-)
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.228s