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: 2024-09-29 05:43:15 UTC
README
安装
通过 Composer
$ composer require awsm3/symfony-validator
使用
请求验证类
<?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(), ]); } }
验证请求
<?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'; } }
安全性
如果您发现任何与安全相关的问题,请使用问题跟踪器。
致谢
许可证
MIT 许可证(MIT)。有关更多信息,请参阅许可证文件。