2017 © Pedro Peláez
 

library simplify-validation

Validation library

image

rutkoski/simplify-validation

Validation library

  • Friday, February 17, 2017
  • by rutkoski
  • Repository
  • 1 Watchers
  • 0 Stars
  • 245 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 0 Forks
  • 0 Open issues
  • 4 Versions
  • 10 % Grown

The README.md

Simplify Validation

Validation library., (*1)

Usage

Validate single value/rule

try {
    $name = 'Ford';

    $rule = new \Simplify\Validation\Required('Invalid name');
    $rule->validate($name);
}
catch (\Simplify\ValidationException $e) {
    $errors = $e->getErrors();

    var_dump($errors);
}

Validate multiple values/rules

try {
    $data = array(
        'name' => 'Ford Prefect',
        'email' => 'ford.prefect@gmail.com',
        'gender' => 'M',
        'age' => '23',
        'message' => 'Don\'t panic', 
    );

    $rules = new \Simplify\Validation\DataValidation();
    $rules->setRule('name', new \Simplify\Validation\Required('Invalid name'));
    $rules->setRule('name', new \Simplify\Validation\Length('Name too short', 3));
    $rules->setRule('email', new \Simplify\Validation\Email('Invalid email!'));
    $rules->setRule('gender', new \Simplify\Validation\Enum('Invalid gender!', array('M', 'F')));
    $rules->setRule('age', new \Simplify\Validation\Refex('Invalid age', '/^\d{2}$/'));
    $rules->setRule('message', new \Simplify\Validation\Length('Invalid message', 1, 255));
    $rules->validate($data);
}
catch (\Simplify\ValidationException $e) {
    $errors = $e->getErrors();

    var_dump($errors);
}

Alternative syntax

try {
    $data = array(
        'name' => 'Ford Prefect',
        'email' => 'ford.prefect@gmail.com',
        'gender' => 'M',
        'age' => '23',
        'message' => 'Don\'t panic',
    );

    $rules = new \Simplify\Validation\DataValidation(array(
        'name' => array(
            array('\Simplify\Validation\Required', 'Invalid name'),
            array('\Simplify\Validation\Length', 'Name too short', array('min' => 3))
        ),
        'email' => array('\Simplify\Validation\Email', 'Invalid email!'),
        'gender' => array('\Simplify\Validation\Enum', 'Invalid gender!', array('enum' => array('M', 'F'))),
        'age' => array('\Simplify\Validation\Refex', 'Invalid age', array('regex' => '/^\d{2}$/')),
        'message' => array('\Simplify\Validation\Length', 'Invalid message', array('min' => 1, 'max' => 255)),
    ));
    $rules->validate($data);
}
catch (\Simplify\ValidationException $e) {
    $errors = $e->getErrors();

    var_dump($errors);
}

Available validators

  • \Simplify\Validation\Callback

Validation using a valid php callback of the format:, (*2)

$rule = new \Simplify\Validation\Callback('myValidator');

function myValidator($value) {
    // your validation

    throw new \Simplify\ValidationException('Don\'t panic');
}
  • Simplify\Validation\Email (required?)
  • Simplify\Validation\Enum (list of valid values)
  • Simplify\Validation\Length (min, max)
  • Simplify\Validation\Password
  • Simplify\Validation\Regex (regular expression)
  • Simplify\Validation\Required
  • Simplify\Validation\StrictEqual

Brazilian formats (validação de formatos brasileiros):, (*3)

  • CEP (validar formato de CEP)
  • CNPJ
  • CPF
  • Telefone

Writing custom validators

Custom validators must implement \Simplify\ValidationInterface or extend on the base classes., (*4)

Example:, (*5)

class CustomValidator implements \Simplify\ValidationInterface
{

    protected $message;

    function __construct($message)
    {
        $this->message = $message;
    }

    public function getError()
    {
        return $this->message;
    }

    public function validate($value)
    {
        // custom validation
        throw new \Simplify\ValidationException('Don\'t panic');
    }
}

The Versions

17/02 2017

dev-master

9999999-dev https://github.com/rutkoski/simplify-validation

Validation library

  Sources   Download

GPL

The Requires

 

by Rodrigo Rutkoski Rodrigues

php validation

17/02 2017

1.0.2

1.0.2.0 https://github.com/rutkoski/simplify-validation

Validation library

  Sources   Download

GPL

The Requires

 

by Rodrigo Rutkoski Rodrigues

php validation

17/02 2017

1.0.1

1.0.1.0 https://github.com/rutkoski/simplify-validation

Validation library

  Sources   Download

GPL

The Requires

 

by Rodrigo Rutkoski Rodrigues

php validation

31/03 2016

v1.0.0

1.0.0.0 https://github.com/rutkoski/simplify-validation

Validation library

  Sources   Download

GPL

The Requires

 

by Rodrigo Rutkoski Rodrigues

php validation