Beispiel #1
0
use phpv\validator\single\native\TautologicValidator;
use phpv\validator\single\native\AlphaNumericalValidator;
use phpv\validator\single\native\AtLeastOnePositiveValidator;
use phpv\output\printer\HTMLErrorPrinter;
$output = null;
$valid = false;
if (isset($_POST["submit"])) {
    $form = new KeyValueSetValidator(new HTMLErrorPrinter());
    $name = KeyValue::obtainFromHTTP("name");
    $password = KeyValue::obtainFromHTTP("password");
    $gender = KeyValue::obtainFromHTTP("gender");
    $browser = KeyValue::obtainFromHTTP("browser");
    $thoughts = KeyValue::obtainFromHTTP("thoughts");
    $football = KeyValue::obtainFromHTTP("football");
    $tennis = KeyValue::obtainFromHTTP("tennis");
    $swimming = KeyValue::obtainFromHTTP("swimming");
    $nameValidator = new SizeRangeValidator($name, "name `%value%` must be between 3 and 20", 3, 20);
    $nameValidator2 = new AlphaNumericalValidator($name, "name must be alphanumerical");
    $passwordValidator = new SizeRangeValidator($password, "password between 3 and 20", 3, 20);
    $genderValidator = new OneOfTheseValuesValidator($gender, "only 'male' or 'female' are permitted", array("m", "f"));
    $browserValidator = new DiversityValidator($browser, "choose your browser of choice", "-");
    $thoughtsValidator = new SizeRangeValidator($thoughts, "keep thoughts between 20 and 100 chars", 20, 100);
    $footballValidator = new TautologicValidator($football);
    $tennisValidator = new TautologicValidator($tennis);
    $swimmingValidator = new TautologicValidator($swimming);
    $atLeastOneSport = new AtLeastOnePositiveValidator(array($football, $tennis, $swimming), "choose at least 1 sport you lazy arse!", "on");
    $form->addValidator($nameValidator);
    $form->addValidator($nameValidator2);
    $form->addValidator($passwordValidator);
    $form->addValidator($genderValidator);
    $form->addValidator($browserValidator);