/** * Test Filters * * @return void **/ public function testFilters() { $validator = new Validator(); $validator->add_filter('field1', 'trim'); $validator->add_filter('field2', 'strrev'); $validator->add_filter('field2', 'strtoupper'); $result = $validator->is_valid(array('field1' => ' hello world ', 'field2' => 'abcd')); $this->assertTrue($result); $expected = array('field1' => 'hello world', 'field2' => 'DCBA'); $this->assertEquals($expected, $validator->get_data()); $this->assertCount(0, $validator->get_errors()); }
<?php echo '<pre>'; include '../autoload.php'; use HybridLogic\Validation\Validator; use HybridLogic\Validation\Rule; $input = array('name' => 'Luke ', 'email' => ' LuKe@lUkElAnChEsTeR.CO.UK ', 'password' => 'password123', 'password2' => 'password456'); $validator = new Validator(); $validator->set_label('name', 'your name')->set_label('password2', 'password confirmation')->add_filter('name', 'trim')->add_filter('email', 'trim')->add_filter('email', 'strtolower')->add_rule('name', new Rule\MinLength(5))->add_rule('name', new Rule\MaxLength(10))->add_rule('email', new Rule\MinLength(5))->add_rule('email', new Rule\Email())->add_rule('password', new Rule\Matches('password2')); if ($validator->is_valid($input)) { var_dump('success', $validator->get_data()); } else { var_dump('error', $validator->get_errors(), $validator->get_data()); }
<?php include '../autoload.php'; use HybridLogic\Validation\Validator; use HybridLogic\Validation\Rule; $validator = new Validator(); $validator->set_label('name', 'your name')->add_filter('name', 'trim')->add_rule('name', new Rule\NotEmpty())->add_rule('name', new Rule\MinLength(5))->add_rule('name', new Rule\MaxLength(10))->add_filter('email', 'trim')->add_filter('email', 'strtolower')->add_rule('email', new Rule\NotEmpty())->add_rule('email', new Rule\MinLength(5))->add_rule('email', new Rule\Email())->add_rule('age', new Rule\NotEmpty())->add_rule('age', new Rule\NumRange(13, 18))->add_rule('password', new Rule\NotEmpty())->add_rule('password', new Rule\MinLength(5))->add_rule('password', new Rule\Matches('password2'))->set_label('password2', 'password confirmation'); if (isset($_POST['submit'])) { if ($validator->is_valid($_POST)) { echo '<p>Posted successfully.</p>'; } else { echo '<p>Errors were encountered:</p><ul>'; foreach ($validator->get_errors() as $error) { echo "<li>{$error}</li>"; } echo '</ul>'; } } $jquery_validator = new HybridLogic\Validation\ClientSide\jQueryValidator($validator); $jquery = $jquery_validator->generate(); ?> <!doctype html> <html class="no-js" lang="en"> <head> <meta charset="utf-8"> <title>jQuery Validation Test</title> </head> <body>
private function validate($data) { $validator = new Validator(); $validator->add_rule('password', new Rule\NotEmpty())->add_rule('password', new Rule\MinLength(6))->add_rule('email', new Rule\NotEmpty())->add_rule('email', new Rule\Email())->add_rule('group', new Rule\AlphaNumeric())->add_rule('status', new Rule\AlphaNumeric())->add_rule('confirmation', new Rule\AlphaNumeric()); if ($validator->is_valid($data)) { return true; } else { $this->bcms->flash('error', print_r($validator->get_errors(), true)); return false; } }