Hoe te valideren van in Web Form Fields

07/30/2013 by admin

Valideren van getallen in een webformulier kan leiden tot een reguliere expressie, als je verwacht een bepaald formaat of aantal cijfers, of kan inhouden wiskunde als je op zoek bent naar bepaalde waarden (of kon ook zijn beide).

Postcode validatie presenteert een eenvoudiger geval, dus je te pakken die eerste. Je nodig hebt om te valideren dat alleen cijfers in het ZIP veld werden ingevoerd en dat er ten minste vijf en ten hoogste negen cijfers in het veld. Je kan dit doen met een enkele reguliere expressie, maar dit zou te voorkomen dat u het terugsturen van een specifieke foutmelding:

Je zou het niet weten of gebruikers ingevulde letters of als ze had slechts vier cijfers in het ZIP veld. Derhalve is de werkwijze u de volgende oefening scheidt deze twee proeven in hun eigen voorwaardelijke.

Deze code kan boven de uiteindelijke bestemming sectie worden toegevoegd:

if (isset ($ _ POST ['zip']) && $ _POST ['zip']! = "") {
if (! preg_match ('/ ^ [d] + $ /', $ _ POST ['zip'])) {
$ _SESSION ['Error'] [] = "ZIP zou moeten zijn alleen cijfers.";
} Else if (strlen ($ _ POST ['zip']) <5 || strlen ($ _ POST ['zip'])> 9) {
$ _SESSION ['Error'] [] = "ZIP moet tussen de 5 en 9 cijfers";
}
}

De code controleert eerst of het ZIP is ingesteld. Als deze is ingesteld en niet leeg is, dan is de volgende controle is te zien of deze alleen cijfers. Als het iets anders dan cijfers bevat, dan is er geen noodzaak om de volgende test uit te voeren. Als cijfers worden dat alles wat gevonden, dan is de volgende controle kan worden uitgevoerd, om ervoor te zorgen dat de lengte is tussen de 5 en 9 cijfers.

Validatie van het telefoonnummer gebruikt dezelfde logica. Als het veld telefoon is ingesteld en niet leeg is, controleer dan om ervoor te zorgen dat het bevat alleen cijfers. Vervolgens wordt de lengte gecontroleerd om ervoor te zorgen dat het op zijn minst tien cijfers. Je kan ook een maximale lengte cheque toe hier, maar zal deze ook goed zijn voor internationale nummers,.

Het veld phonetype wordt gecontroleerd volgende. Als deze niet is ingesteld (en je weet dat het is vereist omdat je binnen bent van een voorwaardelijke test controleren of het telefoonnummer is ingesteld), dan is er een fout terugkeren u. Ervan uitgaande dat het inderdaad is ingesteld, controleer dan de waarde om ervoor te zorgen dat het een van de aanvaardbare waarden voor het veld, vergelijkbaar met die gedaan in de vorige paragraaf voor de staat drop-down.

Deze code kan boven de uiteindelijke bestemming sectie in vorm-process.php worden toegevoegd.

if (isset ($ _ POST ['telefoon']) && $ _POST ['telefoon']! = "") {
if (! preg_match ('/ ^ [d] + $ /', $ _ POST ['telefoon'])) {
$ _SESSION ['Error'] [] = "Telefoonnummer mag alleen cijfers worden";
} Else if (strlen ($ _ POST ['telefoon']) <10) {
$ _SESSION ['Error'] [] = "Telefoonnummer moet ten minste 10 zijn cijfers";
}
if (! isset ($ _ POST ['phonetype']) || $ _POST ['phonetype'] == "") {
$ _SESSION ['Error'] [] = "Kies een type telefoonnummer";
} Else {
$ ValidPhoneTypes = array ("werk", "home");
if (! in_array ($ _ POST ['phonetype'], $ validPhoneTypes)) {
$ _SESSION ['Error'] [] = "Kies een geldige soort telefoonnummer.";
}
}
}