PHP Classes

File: README.md

Recommend this page to a friend!
  Classes of Ravi Kumar   PHP Validator   README.md   Download  
File: README.md
Role: Documentation
Content type: text/markdown
Description: Auxiliary data
Class: PHP Validator
Validate request values with given rules
Author: By
Last change: Update of README.md
Date: 2 months ago
Size: 3,971 bytes
 

Contents

Class file image Download

PHP 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