2017-25 © Pedro Peláez
 

library validator

Server side user input validation library

image

azi/validator

Server side user input validation library

  • Saturday, April 8, 2017
  • by azibaloch
  • Repository
  • 4 Watchers
  • 17 Stars
  • 125 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 10 Forks
  • 1 Open issues
  • 5 Versions
  • 2 % Grown

The README.md

This Package is Abandoned in favor if https://github.com/azeemhassni/envalid

PHP Server Side Form Validation

Build Status Codacy Badge Latest Stable Version Total Downloads Latest Unstable Version License Join the chat at https://gitter.im/azeemhassni/validator, (*1)

This is a small PHP package that makes it easy to validate forms in your project specially larger forms., (*2)

Installation Guide:

You can install Validator either via package download from github or via composer install. I encourage you to do the latter:, (*3)

{ 
  "require": {
    "azi/validator": "2.*"
  }
} 

Usage

to get started, (*4)

  • require composer autoloader
require 'vendor/autoload.php';
  • Instantiate the Validator class
use azi\Validator;
$v = new Validator();
  • Define Rules for each form field
  $rules = array(
        'name' => 'alpha|required',
        'age'  => 'num|required',
    );
  • Run the validator
$v->validate( $_POST, $rules );
  • check validator for errors, if validation fails redirect back to the form
if ( !$v->passed() ) {
        $v->goBackWithErrors();
    }
  • show validation errors to user
 <label>Name :
      <input type="text" name="name">
 </label>
 <?=  Validator::error('name'); ?>

you can wrap error messages with custom HTML markup, (*5)

  Validator::error('confirm_password', '<span class="error">:message</span>');

Rules

  • required
  • num
  • alpha
  • alnum
  • email
  • ip
  • url
  • min:number
  • max:number
  • same:field_name

Custom Expressions & Messages

  • Custom Expressions

you can register your custom RegExp before running the validator, (*6)

$v->registerExpression( 'cnic', '#^([0-9]{13})$#', 'Invalid CNIC number' );

registerExpression method takes 3 arguments * expressionID - unique name for the expression * pattern - the RegExp string * message [optional] - the error message to be retured if the validation fails, (*7)

Validator::registerExpression($expressionID , $pattern, $message)
  • Custom Messages

you can also pass a custom error message with each rule, (*8)

 $rules['full_name'] = "required--Please Enter your name";

Registring custom rules

this weekend (15th Aug 2015) i was working on a must have feature in validator which is accepting custom rules at run time. here is how you can do it from now on., (*9)

$validator = new azi\validator();
$validator->addRule('isUnique', function($field, $value){
    $query = mysqli_query("SELECT * FROM users WHERE username = $value");
    if($query->affected_rows > 0) {
        return "Username '$value' already exists please try something else";
    }

    return true;
);

now you can use this newly registered rule., (*10)

$validator->validate(
    $_POST, ['username' => 'isUnique|required']
);

now you have so much power on your fields validation do whatever you want in Closure you passed to Validator::addRule() as 2nd argument., (*11)

Conditional Rules

you can spacify conditional rules for a field, (*12)

 $rules['age'] = 'if:gender[Male](required|min:2|num)';

Comparison Rules

you can also compare a field with another, (*13)

  $rules['password'] = 'required|min:8';
  $rules['confirm_password'] = 'same:password';

The Versions

08/04 2017

dev-master

9999999-dev

Server side user input validation library

  Sources   Download

MIT

The Requires

  • php >=5.4

 

The Development Requires

by Azi Baloch

16/08 2015

2.0

2.0.0.0

Server side user input validation library

  Sources   Download

MIT

The Requires

  • php >=5.4

 

The Development Requires

by Azi Baloch

03/05 2015

1.2

1.2.0.0

Server side user input validation library

  Sources   Download

MIT

The Requires

  • php >=5.4

 

The Development Requires

by Azi Baloch

12/04 2015

1.1

1.1.0.0

Server side user input validation library

  Sources   Download

MIT

The Requires

  • php >=5.4

 

The Development Requires

by Azi Baloch

08/04 2015

1.0

1.0.0.0

Server side user input validation library

  Sources   Download

MIT

by Azi Baloch