chubbyphp/chubbyphp-validation
最新稳定版本:4.0.0
Composer 安装命令:
composer require chubbyphp/chubbyphp-validation
包简介
Chubbyphp Validate
README 文档
README
chubbyphp-validation
Description
A simple validation.
DEPRECATED: No personal interest anymore and based on stats nobody seems to use it. Feel free to create an issue if you disagree. Please take a look to chubbyphp-parsing its a different concept. But i believe parsing is the way to go instead of deserialze/validate.
Requirements
- php: ^8.1
- psr/log: ^2.0|^3.0
Suggest
- chubbyphp/chubbyphp-container: ^2.2
- pimple/pimple: ^3.5
- psr/container: ^2.0.2
Installation
Through Composer as chubbyphp/chubbyphp-validation.
composer require chubbyphp/chubbyphp-validation "^4.0"
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
2024 Dominik Zogg
统计信息
- 总下载量: 17.66k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 5
- 点击次数: 0
- 依赖项目数: 2
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2016-10-01