[Form] [Validator] Add failing testcase to demonstrate group sequence issue
When using group sequences on a form, sometimes constraints are ignored even though they should fail.
This commit is contained in:
parent
1b6894781c
commit
e2c7c3373d
@ -232,6 +232,34 @@ class FormValidatorFunctionalTest extends TestCase
|
|||||||
$this->assertInstanceOf(Length::class, $errors[0]->getCause()->getConstraint());
|
$this->assertInstanceOf(Length::class, $errors[0]->getCause()->getConstraint());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function testConstraintsInDifferentGroupsOnSingleFieldWithAdditionalFieldThatHasNoConstraintsAddedBeforeTheFieldWithConstraints()
|
||||||
|
{
|
||||||
|
$form = $this->formFactory->create(FormType::class, null, [
|
||||||
|
'validation_groups' => new GroupSequence(['group1', 'group2']),
|
||||||
|
])
|
||||||
|
->add('bar')
|
||||||
|
->add('foo', TextType::class, [
|
||||||
|
'constraints' => [
|
||||||
|
new NotBlank([
|
||||||
|
'groups' => ['group1'],
|
||||||
|
]),
|
||||||
|
new Length([
|
||||||
|
'groups' => ['group2'],
|
||||||
|
'max' => 3,
|
||||||
|
]),
|
||||||
|
],
|
||||||
|
]);
|
||||||
|
$form->submit([
|
||||||
|
'foo' => 'test@example.com',
|
||||||
|
]);
|
||||||
|
|
||||||
|
$errors = $form->getErrors(true);
|
||||||
|
|
||||||
|
$this->assertFalse($form->isValid());
|
||||||
|
$this->assertCount(1, $errors);
|
||||||
|
$this->assertInstanceOf(Length::class, $errors[0]->getCause()->getConstraint());
|
||||||
|
}
|
||||||
|
|
||||||
public function testCascadeValidationToChildFormsUsingPropertyPaths()
|
public function testCascadeValidationToChildFormsUsingPropertyPaths()
|
||||||
{
|
{
|
||||||
$form = $this->formFactory->create(FormType::class, null, [
|
$form = $this->formFactory->create(FormType::class, null, [
|
||||||
|
Reference in New Issue
Block a user