3v4l.org

run code in 200+ php & hhvm versions
Bugs & Features
<?php define("ERROR_INVALID_NAME", "Ung&uuml;ltiger Name"); define("ERROR_INVALID_EMAIL_ADDRESS", "Ung&uuml;ltiges E-Mailformat"); define("ERROR_INVALID_STREET", "Ung&uuml;ltiger Strassenname"); define("ERROR_INVALID_POSTALCODE", "Ung&uuml;ltige Postleitzahl! Bitte nur Zahlen eingeben"); define("ERROR_INVALID_CITY", "Ung&uuml;ltige Stadt"); define("ERROR_INVALID_AMOUNT250", "Ung&uuml;ltige Menge bei 250g"); define("ERROR_INVALID_AMOUNT500", "Ung&uuml;ltige Menge bei 500g"); define("ERROR_INVALID_AMOUNT", "Die Gesamtmenge betr&auml;gt 0"); define("ERROR_INVALID_PRICE", "Ung&uuml;ltiger Preis"); define("ERROR_INVALID_DATUM", "Ung&uuml;ltiges Datum"); /** * Validator fuer die Eingabe des Kunden */ class Validator{ var $errorMessages; /** * Validiert die Eingabe. */ function validateInput($name, $email, $strasse, $plz, $stadt, $menge250g, $menge500g){ $this->validate($name, $email, $strasse, $plz, $stadt, $menge250g, $menge500g); return $this->isValid(); } /** * Validiert die Confirmation. */ function validateConfirmation($name, $email, $strasse, $plz, $stadt, $menge250g, $menge500g, $preis, $datum){ $this->validate($name, $email, $strasse, $plz, $stadt, $menge250g, $menge500g); // Menge gefuellt und numersich if($preis == ''){ array_push($this->errorMessages, ERROR_INVALID_PREIS); } // Menge gefuellt und numersich if($datum == ''){ array_push($this->errorMessages, ERROR_INVALID_DATUM); } return $this->isValid(); } /** * Validiert die Bestaetigungsparameter. */ function validate($name, $email, $strasse, $plz, $stadt, $menge250g, $menge500g){ $this->errorMessages = array(); // Name gefuellt if($name == ""){ array_push($this->errorMessages, ERROR_INVALID_NAME); } // Email Adresse korrekt if(!ereg("^[_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*@([a-zA-Z0-9-]+\.)+([a-zA-Z]{2,4})$", $email)){ array_push($this->errorMessages, ERROR_INVALID_EMAIL_ADDRESS); } // Strasse gefuellt if($strasse == ""){ array_push($this->errorMessages, ERROR_INVALID_STREET); } // PLZ gefuellt und numerisch if(!ereg("^[0-9-]", $plz)){ array_push($this->errorMessages, ERROR_INVALID_POSTALCODE); } // Stadt gefuellt if($stadt == ""){ array_push($this->errorMessages, ERROR_INVALID_CITY); } // Menge250g gefuellt und numersich if(!ereg("^[0-9-]", $menge250g)){ array_push($this->errorMessages, ERROR_INVALID_AMOUNT250); } // Menge500g gefuellt und numersich if(!ereg("^[0-9-]", $menge500g)){ array_push($this->errorMessages, ERROR_INVALID_AMOUNT500); } if ($menge250g == 0.0 and $menge500g == 0.0){ array_push($this->errorMessages, ERROR_INVALID_AMOUNT); } return $this->isValid(); } /** * Erzeugt eine Message fuer die letzte Validierung, */ function getErrorMessages(){ $msg = "<span style='color:red'>Fehler, Sie haben nicht alle Felder korrekt ausgef&uuml;llt:"; // Erzeugte Fehlermeldungen einsammeln foreach ($this->errorMessages as $value) { $msg .= "<br /> - " . $value; } $msg .= "</span><br /><br />"; unset($value); return $msg; } /** * Ueberprueft, ob Fehler bei der Validierung aufgetreten sind. */ function isValid(){ if (count($this->errorMessages) == 0){ return true; } return false; } } ?>
Output for 4.3.0 - 4.4.9, 5.1.3 - 7.2.0
Output for 5.0.0 - 5.1.2
Strict Standards: var: Deprecated. Please use the public/private/protected modifiers in /in/g5dbe on line 18