ICanBoogie/Validate master
  • Namespace
  • Class

Namespaces

  • ICanBoogie
    • Validate
      • Reader
      • Validation
      • Validator
      • ValidatorProvider

Classes

  • Context
  • Message
  • Render
  • Validation
  • ValidationErrors

Interfaces

  • Reader
  • Validator
  • ValidatorOptions
  • ValidatorProvider

Exceptions

  • ParameterIsMissing
  • ValidationFailed
 1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 
<?php

/*
 * This file is part of the ICanBoogie package.
 *
 * (c) Olivier Laviale <olivier.laviale@gmail.com>
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace ICanBoogie\Validate;

use ICanBoogie\ErrorCollection;

/**
 * Representation of validation errors.
 *
 * @method Message[] offsetGet($index)
 */
class ValidationErrors extends \ArrayObject
{
    /**
     * Creates a new instance with the specified errors.
     *
     * @param array $errors
     *
     * @return static
     */
    static public function from(array $errors)
    {
        return new static($errors);
    }

    /**
     * Returns a copy of the instance.
     *
     * @return array
     */
    public function to_array()
    {
        return $this->getArrayCopy();
    }

    /**
     * Returns an error collection instance.
     *
     * @return ErrorCollection
     */
    public function to_error_collection()
    {
        $collection = new ErrorCollection;

        /* @var $messages Message[] */

        foreach ($this as $attribute => $messages)
        {
            foreach ($messages as $message)
            {
                $collection->add($attribute, $message->format, $message->args);
            }
        }

        return $collection;
    }

    /**
     * Clears the instance.
     *
     * @return $this
     */
    public function clear()
    {
        $this->exchangeArray([]);

        return $this;
    }
}
ICanBoogie/Validate master API documentation generated by ApiGen