PHP Classes
elePHPant
Icontem

PHP Validator: Validate request values with given rules

Recommend this page to a friend!
Stumble It! Stumble It! Bookmark in del.icio.us Bookmark in del.icio.us
  Info   View files Example   Screenshots Screenshots   View files View files (17)   DownloadInstall with Composer Download .zip   Reputation   Support forum   Blog    
Last Updated Ratings Unique User Downloads Download Rankings  
2014-08-10 (11 months ago) RSS 2.0 feedNot yet rated by the usersTotal: 168 All time: 7,671 This week: 1,187Up
Version License PHP version Categories  
php-validator 1.0MIT/X Consortium ...5.4PHP 5, Databases, Validation
Description Author  

This class can validate request values with given rules.

It can take an array of POST or GET request values and validate against a list of given rules.

If the validation fails, the class returns a list of error objects that can return the error details for each of the request value.

Currently the class supports validating values with rules that check required values, minimum and maximum length, email addresses, url, ip address, letters and digits, numbers, regular expression, unique value database field.

Picture of Ravi Kumar
Name: Ravi Kumar is available for providing paid consulting. Contact Ravi Kumar .
Classes: 4 packages by
Country: India India
Age: 31
All time rank: 2024129 in India India
Week rank: 895 Up73 in India India Up
Innovation award
Innovation award
Nominee: 1x

Details provided by the author  

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

Screenshots  
  • With_Error.png
  • Screenshot.png
  Files folder image Files  
File Role Description
Files folder imageassets (2 directories)
Files folder imageclasses (3 files)
Accessible without login Plain text file index.php Example Example script
Accessible without login Plain text file LICENSE Data Auxiliary data
Accessible without login Plain text file README.md Doc. Auxiliary data

  Files folder image Files  /  assets  
File Role Description
Files folder imagecss (1 file)
Files folder imagescss (1 file, 3 directories)

  Files folder image Files  /  assets  /  css  
File Role Description
  Accessible without login Plain text file main.css Output Sample output

  Files folder image Files  /  assets  /  scss  
File Role Description
Files folder imagebase (2 files)
Files folder imagehelpers (4 files)
Files folder imagemodules (3 files)
  Accessible without login Plain text file main.scss Output Sample output

  Files folder image Files  /  assets  /  scss  /  base  
File Role Description
  Accessible without login Plain text file _all.scss Data Auxiliary data
  Accessible without login Plain text file _typography.scss Data Auxiliary data

  Files folder image Files  /  assets  /  scss  /  helpers  
File Role Description
  Accessible without login Plain text file _all.scss Data Auxiliary data
  Accessible without login Plain text file _functions.scss Data Auxiliary data
  Accessible without login Plain text file _mixins.scss Data Auxiliary data
  Accessible without login Plain text file _variables.scss Data Auxiliary data

  Files folder image Files  /  assets  /  scss  /  modules  
File Role Description
  Accessible without login Plain text file _alerts.scss Data Auxiliary data
  Accessible without login Plain text file _all.scss Data Auxiliary data
  Accessible without login Plain text file _buttons.scss Data Auxiliary data

  Files folder image Files  /  classes  
File Role Description
  Plain text file Database.php Class Class source
  Plain text file ErrorHandler.php Class Class source
  Plain text file Validator.php Class Class source

 Version Control Unique User Downloads Download Rankings  
 89%Total:168All time:7,671
 This week:0This week:1,187Up