Beispiel #1
0
 public function testValidate()
 {
     $validation = new Validate\Validation(array('callbacks' => array('is_lc' => function ($s) {
         return mb_strtolower($s) == $s;
     }), 'mb_max_length' => 10, 'regex' => '/a/', 'type' => 'string'));
     $tests = array(array('input' => 'This is too long.', 'expect' => false, 'expect_last_failure' => 'mb_max_length'), array('input' => 'this is also too long.', 'expect' => false, 'expect_last_failure' => 'mb_max_length'), array('input' => 'Yada', 'expect' => false, 'expect_last_failure' => 'is_lc (callback)'), array('input' => 12345, 'expect' => false, 'expect_last_failure' => 'types'), array('input' => 'foofoo', 'expect' => false, 'expect_last_failure' => 'regex'), array('input' => 'bla', 'expect' => true, 'expect_last_failure' => null));
     foreach ($tests as $test) {
         $input = $test['input'];
         $expect = $test['expect'];
         $expect_last_failure = $test['expect_last_failure'];
         $this->assertEquals($expect, $validation->validate($input), "validate(\"{$input}\") returns expected result.");
         $this->assertEquals($expect_last_failure, $validation->getLastFailure(), "getLastFailure() returns expected result.");
     }
 }
Beispiel #2
0
<?php

/**
* Example script that demonstrates the use of the Validation class.
* The Validation class is rarely used stand-alone as it is only able to validate a single value.
*
* @author   Craig Manley
* @version  $Id: validation.php,v 1.3 2016/06/13 20:04:08 cmanley Exp $
* @package  Validate
*/
require_once __DIR__ . '/../src/Validation.php';
$validation = new Validate\Validation(array('mb_max_length' => 10, 'regex' => '/a/', 'callbacks' => array('is_lc' => function ($s) {
    return strtolower($s) == $s;
})));
$tests = array(array('data' => 'This is too long.', 'expect' => false), array('data' => 'this is also too long.', 'expect' => false), array('data' => 'Yaba', 'expect' => false), array('data' => 'gogo', 'expect' => false), array('data' => 'bla', 'expect' => true));
foreach ($tests as $test) {
    $data = $test['data'];
    print "Test: {$data}\n";
    print "\tValid?: " . (int) $validation->validate($data) . "\n";
    print "\tLast failure: " . print_r($validation->getLastFailure(), true) . "\n";
    print "\tRead max_length: " . ($validation->max_length ? $validation->max_length : 'null') . "\n";
    print ($validation->validate($data) == $test['expect'] ? 'PASS' : 'FAIL') . "\n";
    print "\n";
}