Source of file Validator.php
Size: 1,818 Bytes - Last Modified: 2017-11-08T13:54:24+00:00
/home/travis/build/bluzphp/framework/src/Validator/Traits/Validator.php
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495 | <?php /** * Bluz Framework Component * * @copyright Bluz PHP Team * @link https://github.com/bluzphp/framework */ declare(strict_types=1); namespace Bluz\Validator\Traits; use Bluz\Validator\ValidatorChain; use Bluz\Validator\ValidatorForm; /** * Validator trait * * Example of usage * <code> * use Bluz\Validator\Traits\Validator; * use Bluz\Validator\Validator as v; * * class Row extends Db\Row { * use Validator; * function beforeSave() * { * $this->addValidator( * 'login', * v::required()->latin()->length(3, 255) * ); * } * } * </code> * * @package Bluz\Validator\Traits * @author Anton Shevchuk */ trait Validator { /** * @var ValidatorForm instance */ private $validatorForm; /** * Get ValidatorBuilder * * @return ValidatorForm */ private function getValidatorForm() { if (!$this->validatorForm) { $this->validatorForm = new ValidatorForm(); } return $this->validatorForm; } /** * Add ValidatorChain * * @param string $name * * @return ValidatorChain */ protected function addValidator($name) : ValidatorChain { return $this->getValidatorForm()->add($name); } /** * Validate input data * * @param array $input * * @return bool */ public function validate($input) : bool { return $this->getValidatorForm()->validate($input); } /** * Assert input data * * @param array $input * * @throws \Bluz\Validator\Exception\ValidatorException */ public function assert($input) { $this->getValidatorForm()->assert($input); } } |