3v4l.org

run code in 300+ PHP versions simultaneously
<?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{ public $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; } } ?>

preferences:
39.73 ms | 402 KiB | 5 Q