chubbyphp / chubbyphp-validation
Chubbyphp Validate
Installs: 14 557
Dependents: 3
Suggesters: 0
Security: 0
Stars: 1
Watchers: 1
Forks: 1
Open Issues: 0
Requires
- php: ^7.4|^8.0
- psr/log: ^1.0
Requires (Dev)
- chubbyphp/chubbyphp-container: ^1.0
- chubbyphp/chubbyphp-dev-helper: dev-master
- chubbyphp/chubbyphp-laminas-config-factory: ^1.0
- chubbyphp/chubbyphp-mock: ^1.6
- doctrine/persistence: ^1.3|^2.0
- infection/infection: ^0.20.2
- php-coveralls/php-coveralls: ^2.4.3
- phploc/phploc: ^6.0.2
- phpstan/extension-installer: ^1.1
- phpstan/phpstan: ^0.12.64
- phpunit/phpunit: ^9.5
- pimple/pimple: ^3.3
- psr/container: ^1.0
- symfony/validator: ^3.4|^4.2|^5.0
- dev-master / 3.12.x-dev
- 3.12.0
- 3.11.1
- 3.11.0
- 3.10.0
- 3.9.0
- 3.8.0
- 3.7.1
- 3.7.0
- 3.6.2
- 3.6.1
- 3.6.0
- 3.5.1
- 3.5.0
- 3.4.2
- 3.4.1
- 3.4.0
- 3.3.1
- 3.3.0
- 3.2.1
- 3.2.0
- 3.1.0
- 3.0.2
- 3.0.1
- 3.0.0
- 3.0-beta2
- 3.0-beta1
- v2.x-dev
- 2.2.0
- 2.1.1
- 2.1.0
- 2.1-beta1
- 2.0.3
- 2.0.2
- 2.0.1
- 2.0.0
- 2.0-alpha14
- 2.0-alpha13
- 2.0-alpha12
- 2.0-alpha11
- 2.0-alpha10
- 2.0-alpha9
- 2.0-alpha8
- 2.0-alpha7
- 2.0-alpha6
- 2.0-alpha5
- 2.0-alpha4
- 2.0-alpha3
- 2.0-alpha2
- 2.0-alpha1
- v1.x-dev
- 1.0.9
- 1.0.8
- 1.0.7
- 1.0.6
- 1.0.5
- 1.0.4
- 1.0.3
- 1.0.2
- 1.0.1
- 1.0.0
- 1.0.0-beta2
- 1.0.0-beta1
- 1.0.0-alpha1
This package is auto-updated.
Last update: 2021-01-10 17:52:02 UTC
README
Description
A simple validation.
Requirements
- php: ^7.4|^8.0
- psr/log: ^1.0
Suggest
- chubbyphp/chubbyphp-container: ^1.0
- pimple/pimple: ^3.2.3
- psr/container: ^1.0
Installation
Through Composer as chubbyphp/chubbyphp-validation.
composer require chubbyphp/chubbyphp-validation "^3.12"
Usage
Accessor
Constraint
- AllConstraint
- BlankConstraint
- CallbackConstraint
- ChoiceConstraint
- CoordinateArrayConstraint
- CoordinateConstraint
- CountConstraint
- DateTimeConstraint
- EmailConstraint
- FalseConstraint
- MapConstraint
- NotBlankConstraint
- NotNullConstraint
- NullConstraint
- NumericConstraint
- NumericRangeConstraint
- TrueConstraint
- TypeConstraint
- ValidConstraint
Doctrine
Symfony
Error
Mapping
- CallableValidationMappingProvider
- LazyValidationMappingProvider
- ValidationClassMapping
- ValidationClassMappingBuilder
- ValidationMappingProviderRegistry
- ValidationPropertyMapping
- ValidationPropertyMappingBuilder
ValidationMappingProvider
<?php namespace MyProject\Model; final class Model { /** * @var array<\DateTime> */ private $dates; }
<?php namespace MyProject\Mapping\Validation; use Chubbyphp\Validation\Constraint\AllConstraint; use Chubbyphp\Validation\Constraint\DateTimeConstraint; use Chubbyphp\Validation\Constraint\NotBlankConstraint; use Chubbyphp\Validation\Constraint\NotNullConstraint; use Chubbyphp\Validation\Mapping\ValidationClassMappingBuilder; use Chubbyphp\Validation\Mapping\ValidationClassMappingInterface; use Chubbyphp\Validation\Mapping\ValidationMappingProviderInterface; use Chubbyphp\Validation\Mapping\ValidationPropertyMappingBuilder; use Chubbyphp\Validation\Mapping\ValidationPropertyMappingInterface; use MyProject\Model\Model; final class ModelValidationMappingProvider implements ValidationMappingProviderInterface { /** * @return string */ public function getClass(): string { return Model::class; } /** * @param string $path * * @return ValidationClassMappingInterface */ public function getValidationClassMapping(string $path): ValidationClassMappingInterface { return ValidationClassMappingBuilder::create([])->getMapping(); } /** * @param string $path * @param string|null $type * * @return ValidationPropertyMappingInterface[] */ public function getValidationPropertyMappings(string $path, string $type = null): array { return [ ValidationPropertyMappingBuilder::create('dates', [ new AllConstraint([ new NotNullConstraint(), new NotBlankConstraint(), new DateTimeConstraint('d.m.Y'), ]), ])->getMapping(), ]; } }
ServiceFactory
chubbyphp-container
chubbyphp-laminas-config-factory
ServiceProvider
Validator
<?php namespace MyProject; use Chubbyphp\Validation\Mapping\ValidationMappingProviderRegistry; use Chubbyphp\Validation\ValidatorContextInterface; use Chubbyphp\Validation\Validator; use MyProject\Mapping\Validation\ModelValidationMappingProvider; use MyProject\Model\Model; $logger = ...; $validator = new Validator( new ValidationMappingProviderRegistry([ new ModelValidationMappingProvider() ]), $logger ); $model = new Model; /** @var ValidatorContextInterface $context */ $context = ...; $errors = $validator->validate( $model, $context );
Copyright
Dominik Zogg 2020