PHP Classes

PHP Validator: Validate request values with given rules

Recommend this page to a friend!
  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
2023-06-02 (4 months ago) RSS 2.0 feedNot yet rated by the usersTotal: 195 All time: 8,501 This week: 103Up
Version License PHP version Categories
php-validator 1.4MIT/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
  Performance   Level  
Name: Ravi Kumar is available for providing paid consulting. Contact Ravi Kumar .
Classes: 6 packages by
Country: India India
Age: 39
All time rank: 1735102 in India India
Week rank: 180 Up17 in India India Up
Innovation award
Innovation award
Nominee: 2x

Example

<?php

/**
 * This file is only used for demo purpose.
 *
 * @package Validator
 * @author Ravi Kumar
 * @version 0.1.0
 * @copyright Copyright (c) 2014, Ravi Kumar
 * @license https://github.com/ravikumar8/PHP-Validator/blob/master/LICENSE MIT
 **/

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>';
        }
    }
}
?>
<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Validation</title>
    <link rel="stylesheet" href="assets/css/main.css">
</head>
<body>

    <div class="container">
        <?php if( $errosHtml ) { ?>
<ul class="alert error">
                <?php echo $errosHtml; ?>
</ul>
        <?php } ?>
<form action="index.php" method="post" auto-fill="off">
            <ul>
            <li>Username:<input type="text" name="username" value="<?php echo isset($_POST['username']) ? $_POST['username'] : ''; ?>"></li>
            <li>Email:<input type="email" name="email" value="<?php echo isset($_POST['email']) ? $_POST['email'] : ''; ?>"></li>
            <li>Password:<input type="password" name="password"></li>
            <li>Password again:<input type="password" name="password_again"></li>
            <li><input type="submit" class="btn"></li>
            </ul>
        </form>
    </div>
</body>
</html>


Screenshots  
  • Screenshot.png
  • With_Error.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:195
This week:0
All time:8,501
This week:103Up