2017 © Pedro Peláez
 

library validate-module

Validation module for Ray.Di

image

ray/validate-module

Validation module for Ray.Di

  • Tuesday, February 13, 2018
  • by koriym
  • Repository
  • 2 Watchers
  • 0 Stars
  • 14,797 Installations
  • PHP
  • 1 Dependents
  • 0 Suggesters
  • 3 Forks
  • 0 Open issues
  • 7 Versions
  • 12 % Grown

The README.md

Ray.ValidateModule

Scrutinizer Code Quality Code Coverage Build Status Build Status, (*1)

Installation

Composer install

$ composer require ray/validate-module

Module install

use Ray\Di\AbstractModule;
use Ray\AuraSqlModule\AuraSqlModule;
use Ray\AuraSqlModule\Annotation\AuraSqlConfig;

class AppModule extends AbstractModule
{
    protected function configure()
    {
        $this->install(new ValidateModule);
    }
}

Usage

Annotate target method with @Valid annotation., (*2)

use Ray\Validation\Annotation\Valid;

class User
{
    /**
     * @Valid
     */
    public function createUser($name)
    {
        // ...
    }

Provide onValidate annotated method in same class for validation. Method can be named freely., (*3)

use Ray\Validation\Annotation\OnValidate;
// ...

    /**
     * @OnValidate
     */
    public function onValidate($name)
    {
        $validation = new Validation;
        if (! is_string($name)) {
            $validation->addError('name', 'name should be string');
        }

        return $validation;
    }

Validate all parameters in validation method. addError($name, $message) with invalid parameter name and message in the case of validation failed., (*4)

Ray\Validation\Exception\InvalidArgumentException thrown on validation failed, But if @OnFailure annoted method exists, The result of @OnFailure method returns instead of original., (*5)

use Ray\Validation\Annotation\OnFailure;
// ...

    /**
     * @OnFailure
     */
    public function onFailure(FailureInterface $failure)
    {

        // original parameters
        list($this->defaultName) = $failure->getInvocation()->getArguments();

        // errors
        foreach ($failure->getMessages() as $name => $messages) {
            foreach ($messages as $message) {
                echo "Input '{$name}': {$message}" . PHP_EOL;
            }
        }
    }

If you need multiple validation in one class, You can name validation at annotation property as follows., (*6)

use Ray\Validation\Annotation\Valid;
use Ray\Validation\Annotation\OnValidate;
use Ray\Validation\Annotation\OnInvalid;
// ...

    /**
     * @Valid("foo")
     */
    public function fooAction($name, $address, $zip)
    {

    /**
     * @OnValidate("foo")
     */
    public function onValidateFoo($name, $address, $zip)
    {

    // ...
    /**
     * @OnInvalid("foo")
     */
    public function onInvalidFoo(FailureInterface $failure)
    {
    // ...

Demo

$ php docs/demo/run.php
// It works!

The Versions

13/02 2018

1.x-dev

1.9999999.9999999.9999999-dev

Validation module for Ray.Di

  Sources   Download

MIT

The Requires

 

The Development Requires

form validation ray.di ray.di module

13/02 2018

1.0.1

1.0.1.0

Validation module for Ray.Di

  Sources   Download

MIT

The Requires

 

The Development Requires

validation ray.di

13/02 2018

dev-ray-di-version

dev-ray-di-version

Validation module for Ray.Di

  Sources   Download

MIT

The Requires

 

The Development Requires

validation ray.di

06/09 2017

1.0.0

1.0.0.0

Validation module for Ray.Di

  Sources   Download

MIT

The Requires

 

The Development Requires

validation ray.di

28/07 2015

dev-develop

dev-develop

Validation module for Ray.Di

  Sources   Download

BSD-3-Clause

The Requires

 

validation ray.di module

24/03 2015

0.1.1

0.1.1.0

Validation module for Ray.Di

  Sources   Download

BSD-3-Clause

The Requires

 

validation ray.di module

04/03 2015

0.1.0

0.1.0.0

Validation module for Ray.Di

  Sources   Download

BSD-3-Clause

The Requires

 

validation ray.di module