awsm3 / symfony-validator
Валидация реквестов (вообще, данных, посредством форм Symfony) для Symfony
dev-master
2018-03-23 23:22 UTC
Requires
- php: ~7.0
- doctrine/orm: ^2.6
- symfony/dependency-injection: ^4.0
- symfony/form: ^4.0
- symfony/http-foundation: ^4.0
- symfony/serializer: ^4.0
- symfony/validator: ^4.0
This package is not auto-updated.
Last update: 2025-03-02 07:48:19 UTC
README
Install
Via Composer
$ composer require awsm3/symfony-validator
Usage
Request validation class
<?php declare(strict_types=1); namespace App\Validator; use Awsm3\Validator\Symfony\AbstractRequestValidator; use Awsm3\Symfony\Validator\Field\BaseTypeFields; use Symfony\Component\Form\Extension\Core\Type\TextType; use Symfony\Component\Form\FormBuilderInterface; use Symfony\Component\HttpFoundation\Request; class CustomValidator extends AbstractRequestValidator { /** * @param Request $request * * @return array */ public function validate($request): array { $formData = parent::validate($request); return $formData; } /** * Build form with validation rules * * @param FormBuilderInterface $formBuilder * * @return FormBuilderInterface */ protected function buildForm(FormBuilderInterface $formBuilder): FormBuilderInterface { return $formBuilder // Not required 'Email' field // @see Awsm3\Symfony\Validator\Field\BaseTypeFields for field constraints examples ->add( 'email', TextType::class, [ 'constraints' => BaseTypeFields::emailConstraints(), ]); } }
Validate request
<?php declare(strict_types=1); namespace App\Service; use Awsm3\Validator\Symfony\Exception\InvalidFormException; use App\Validator\CustomValidator; use Symfony\Component\HttpFoundation\Request; /** * Class VideoCompiler * @package App\Service */ class SomeService { /** @var CustomValidator */ private $customValidator; public function __construct(CustomValidator $customValidator) { $this->customValidator = $customValidator; } /** * @param Request $request * * @throws InvalidFormException * @return string */ public function someServiceMethod(Request $request): string { try { $validatedFormData = $this->customValidator->validate($request); } catch (InvalidFormException $e) { throw $e; } return 'Request is valid'; } }
Security
If you discover any security related issues, please using the issue tracker.
Credits
License
The MIT License (MIT). Please see License File for more information.