8000 [Form] removed usage of Validator deprecated features · symfony/symfony@17cedd3 · GitHub
[go: up one dir, main page]

Skip to content

Commit 17cedd3

Browse files
committed
[Form] removed usage of Validator deprecated features
1 parent 8fd32ba commit 17cedd3

File tree

7 files changed

+721
-91
lines changed

7 files changed

+721
-91
lines changed

src/Symfony/Component/Form/Extension/Validator/EventListener/ValidationListener.php

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@
1414
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
1515
use Symfony\Component\Form\Extension\Validator\ViolationMapper\ViolationMapperInterface;
1616
use Symfony\Component\Validator\Validator\ValidatorInterface;
17-
use Symfony\Component\Validator\ValidatorInterface as LegacyValidatorInterface;
1817
use Symfony\Component\Form\FormEvents;
1918
use Symfony\Component\Form\FormEvent;
2019
use Symfony\Component\Form\Extension\Validator\Constraints\Form;
@@ -37,15 +36,11 @@ public static function getSubscribedEvents()
3736
}
3837

3938
/**
40-
* @param ValidatorInterface|LegacyValidatorInterface $validator
41-
* @param ViolationMapperInterface $violationMapper
39+
* @param ValidatorInterface $validator
40+
* @param ViolationMapperInterface $violationMapper
4241
*/
43-
public function __construct($validator, ViolationMapperInterface $violationMapper)
42+
public function __construct(ValidatorInterface $validator, ViolationMapperInterface $violationMapper)
4443
{
45-
if (!$validator instanceof ValidatorInterface && !$validator instanceof LegacyValidatorInterface) {
46-
throw new \InvalidArgumentException('Validator must be instance of Symfony\Component\Validator\Validator\ValidatorInterface or Symfony\Component\Validator\ValidatorInterface');
47-
}
48-
4944
$this->validator = $validator;
5045
$this->violationMapper = $violationMapper;
5146
}

src/Symfony/Component/Form/Extension/Validator/Type/FormTypeValidatorExtension.php

Lines changed: 2 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@
1515
use Symfony\Component\Form\Extension\Validator\ViolationMapper\ViolationMapper;
1616
use Symfony\Component\Form\Extension\Validator\EventListener\ValidationListener;
1717
use Symfony\Component\Validator\Validator\ValidatorInterface;
18-
use Symfony\Component\Validator\ValidatorInterface as LegacyValidatorInterface;
1918
use Symfony\Component\OptionsResolver\Options;
2019
use Symfony\Component\OptionsResolver\OptionsResolver;
2120

@@ -35,14 +34,10 @@ class FormTypeValidatorExtension extends BaseValidatorExtension
3534
private $violationMapper;
3635

3736
/**
38-
* @param ValidatorInterface|LegacyValidatorInterface $validator
37+
* @param ValidatorInterface $validator
3938
*/
40-
public function __construct($validator)
39+
public function __construct(ValidatorInterface $validator)
4140
{
42-
if (!$validator instanceof ValidatorInterface && !$validator instanceof LegacyValidatorInterface) {
43-
throw new \InvalidArgumentException('Validator must be instance of Symfony\Component\Validator\Validator\ValidatorInterface or Symfony\Component\Validator\ValidatorInterface');
44-
}
45-
4641
$this->validator = $validator;
4742
$this->violationMapper = new ViolationMapper();
4843
}
@@ -67,26 +62,16 @@ public function configureOptions(OptionsResolver $resolver)
6762
return is_object($constraints) ? array($constraints) : (array) $constraints;
6863
};
6964

70-
$cascadeValidationNormalizer = function (Options $options, $cascadeValidation) {
71-
if (null !== $cascadeValidation) {
72-
@trigger_error('The "cascade_validation" option is deprecated since version 2.8 and will be removed in 3.0. Use "constraints" with a Valid constraint instead.', E_USER_DEPRECATED);
73-
}
74-
75-
return null === $cascadeValidation ? false : $cascadeValidation;
76-
};
77-
7865
$resolver->setDefaults(array(
7966
'error_mapping' => array(),
8067
'constraints' => array(),
81-
'cascade_validation' => null,
8268
'invalid_message' => 'This value is not valid.',
8369
'invalid_message_parameters' => array(),
8470
'allow_extra_fields' => false,
8571
'extra_fields_message' => 'This form should not contain extra fields.',
8672
));
8773

8874
$resolver->setNormalizer('constraints', $constraintsNormalizer);
89-
$resolver->setNormalizer('cascade_validation', $cascadeValidationNormalizer);
9075
}
9176

9277
/**

src/Symfony/Component/Form/Extension/Validator/ValidatorExtension.php

Lines changed: 3 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -11,13 +11,11 @@
1111

1212
namespace Symfony\Component\Form\Extension\Validator;
1313

14-
use Symfony\Component\Form\Exception\UnexpectedTypeException;
1514
use Symfony\Component\Form\Extension\Validator\Constraints\Form;
1615
use Symfony\Component\Form\AbstractExtension;
1716
use Symfony\Component\Validator\Constraints\Valid;
1817
use Symfony\Component\Validator\Mapping\ClassMetadata;
1918
use Symfony\Component\Validator\Validator\ValidatorInterface;
20-
use Symfony\Component\Validator\ValidatorInterface as LegacyValidatorInterface;
2119

2220
/**
2321
* Extension supporting the Symfony Validator component in forms.
@@ -28,22 +26,9 @@ class ValidatorExtension extends AbstractExtension
2826
{
2927
private $validator;
3028

31-
/**
32-
* @param ValidatorInterface|LegacyValidatorInterface $validator
33< F438 /code>-
*
34-
* @throws UnexpectedTypeException If $validator is invalid
35-
*/
36-
public function __construct($validator)
29+
public function __construct(ValidatorInterface $validator)
3730
{
38-
// 2.5 API
39-
if ($validator instanceof ValidatorInterface) {
40-
$metadata = $validator->getMetadataFor('Symfony\Component\Form\Form');
41-
// 2.4 API
42-
} elseif ($validator instanceof LegacyValidatorInterface) {
43-
$metadata = $validator->getMetadataFactory()->getMetadataFor('Symfony\Component\Form\Form');
44-
} else {
45-
throw new UnexpectedTypeException($validator, 'Symfony\Component\Validator\Validator\ValidatorInterface or Symfony\Component\Validator\ValidatorInterface');
46-
}
31+
$metadata = $validator->getMetadataFor('Symfony\Component\Form\Form');
4732

4833
// Register the form constraints in the validator programmatically.
4934
// This functionality is required when using the Form component without
@@ -59,13 +44,7 @@ public function __construct($validator)
5944

6045
public function loadTypeGuesser()
6146
{
62-
// 2.5 API
63-
if ($this->validator instanceof ValidatorInterface) {
64-
return new ValidatorTypeGuesser($this->validator);
65-
}
66-
67-
// 2.4 API
68-
return new ValidatorTypeGuesser($this->validator->getMetadataFactory());
47+
return new ValidatorTypeGuesser($this->validator);
6948
}
7049

7150
protected function loadTypeExtensions()

src/Symfony/Component/Form/Tests/Extension/Validator/EventListener/ValidationListenerTest.php

Lines changed: 1 addition & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -180,33 +180,11 @@ public function testValidateWithEmptyViolationList()
180180
$this->listener->validateForm(new FormEvent($form, null));
181181
}
182182

183-
public function testValidatorInterfaceSinceSymfony25()
183+
public function testValidatorInterface()
184184
{
185-
// Mock of ValidatorInterface since apiVersion 2.5
186185
$validator = $this->getMock('Symfony\Component\Validator\Validator\ValidatorInterface');
187186

188187
$listener = new ValidationListener($validator, $this->violationMapper);
189188
$this->assertAttributeSame($validator, 'validator', $listener);
190189
}
191-
192-
/**
193-
* @group legacy
194-
*/
195-
public function testValidatorInterfaceUntilSymfony24()
196-
{
197-
// Mock of ValidatorInterface until apiVersion 2.4
198-
$validator = $this->getMock('Symfony\Component\Validator\ValidatorInterface');
199-
200-
$listener = new ValidationListener($validator, $this->violationMapper);
201-
$this->assertAttributeSame($validator, 'validator', $listener);
202-
}
203-
204-
/**
205-
* @group legacy
206-
* @expectedException \InvalidArgumentException
207-
*/
208-
public function testInvalidValidatorInterface()
209-
{
210-
new ValidationListener(null, $this->violationMapper);
211-
}
212190
}

src/Symfony/Component/Form/Tests/Extension/Validator/Type/FormTypeValidatorExtensionTest.php

Lines changed: 1 addition & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -45,32 +45,14 @@ public function testValidConstraint()
4545
$this->assertSame(array($valid), $form->getConfig()->getOption('constraints'));
4646
}
4747

48-
public function testValidatorInterfaceSinceSymfony25()
48+
public function testValidatorInterface()
4949
{
50-
// Mock of ValidatorInterface since apiVersion 2.5
5150
$validator = $this->getMock('Symfony\Component\Validator\Validator\ValidatorInterface');
5251

5352
$formTypeValidatorExtension = new FormTypeValidatorExtension($validator);
5453
$this->assertAttributeSame($validator, 'validator', $formTypeValidatorExtension);
5554
}
5655

57-
public function testValidatorInterfaceUntilSymfony24()
58-
{
59-
// Mock of ValidatorInterface until apiVersion 2.4
60-
$validator = $this->getMock('Symfony\Component\Validator\ValidatorInterface');
61-
62-
$formTypeValidatorExtension = new FormTypeValidatorExtension($validator);
63-
$this->assertAttributeSame($validator, 'validator', $formTypeValidatorExtension);
64-
}
65-
66-
/**
67-
* @expectedException \InvalidArgumentException
68-
*/
69-
public function testInvalidValidatorInterface()
70-
{
71-
new FormTypeValidatorExtension(null);
72-
}
73-
7456
protected function createForm(array $options = array())
7557
{
7658
return $this->factory->create('Symfony\Component\Form\Extension\Core\Type\FormType', null, $options);

0 commit comments

Comments
 (0)
0