DownloadPHP Validator
Validator class to validate form post values in a simple way.  
Usage
require_once 'classes/Database.php';
require_once 'classes/ErrorHandler.php';
require_once 'classes/Validator.php';
$db             =   new Database;
$errorHandler   =   new ErrorHandler;
$errosHtml      =   '';
if(!empty($_POST))  {
    $validator = new Validator($db, $errorHandler);
    $validation = $validator->check($_POST, [
        'username'  =>  [
            'required'  =>  true,
            'maxlength' =>  20,
            'minlength' =>  3,
            'alnum'     =>  true,
            'unique'    =>  'users'
        ],
        'email' =>  [
            'required'  =>  true,
            'maxlength' =>  255,
            'email'     =>  true,
            'unique'    =>  'users'
        ],
        'password'  =>  [
            'required'  =>  true,
            'minlength' =>  7
        ],
        'password_again'    =>  [
            'matches'   =>  'password'
        ]       
    ]);
    
    if( $validation->fails() )  {
        //echo '<pre>', print_r( $validation, 1 ), '</pre>';
        if( $validation->errors()->hasErrors('username') )  {
            $errosHtml  = '<li>' .  implode( '</li><li>' ,  $validation->errors()->all('username') ) . '</li>'; 
        }
        if( $validation->errors()->hasErrors('email') ) {
            $errosHtml  .= '<li>' .  implode( '</li><li>' ,  $validation->errors()->all('email') ) . '</li>';   
        }
        if( $validation->errors()->hasErrors('password') )  {       
            $errosHtml  .= '<li>' .  implode( '</li><li>' ,  $validation->errors()->all('password') ) . '</li>';    
        }
        if( $validation->errors()->hasErrors('password_again') )    {       
            $errosHtml  .= '<li>' .  implode( '</li><li>' ,  $validation->errors()->all('password_again') ) . '</li>';  
        }       
    }
}
<?php if( $errosHtml )  { ?>
    <ul class="alert error">
        <?php echo $errosHtml; ?>
    </ul>       
<?php } ?>
 
Rules
 * __required__: Returns FALSE if the form element is empty. 
 * __minlength__: Returns FALSE if the form element is shorter then the parameter value. minlength=>6
 * __maxlength__: Returns FALSE if the form element is longer then the parameter value. maxlength=>10  
 * __email__: Returns FALSE if the form element does not contain a valid email address.
 * __activeemail__: Returns FALSE if the form element does not contain a valid and active email address. 
 * __url__: Returns FALSE if the form element does not contain a valid url address.
 * __activeurl__: Returns FALSE if the form element does not contain a valid and active url address.
 * __ip__: Returns FALSE if the supplied IP is not valid.
 * __alpha__: Returns FALSE if the form element contains anything other than alphabetical characters.
 * __alphaupper__: Returns FALSE if the form element contains anything other than upper alphabetical characters.
 * __alphalower__: Returns FALSE if the form element contains anything other than lower alphabetical characters.
 * __alphadash__: Returns FALSE if the form element contains anything other than alpha-numeric characters, underscores or dashes.
 * __alphanum__: Returns FALSE if the form element contains anything other than alpha-numeric characters.
 * __hexadecimal__: Returns FALSE if the form element contains anything other than hexadecimal characters.
 * __numeric__: Returns FALSE if the form element contains anything other than numeric characters.
 * __matches__: Returns FALSE if the form element does not match the one in the parameter. matches[form_item] 
 * __unique__: Returns FALSE if the form element is not unique to the table and field name in the parameter. unique[field] 
Based on Alex Garrett work http://bit.ly/1oO8Yxn 
License
Released under the MIT license<br>
Copyright (c) 2014 Ravi Kumar  |