Skip to content
Snippets Groups Projects
Commit f0071e24 authored by catch's avatar catch
Browse files

Issue #3427737 by longwave, godotislate: Overwrite Symfony constraint...

Issue #3427737 by longwave, godotislate: Overwrite Symfony constraint properties in constructors instead of child properties
parent d675ece2
No related branches found
No related tags found
No related merge requests found
...@@ -23,10 +23,6 @@ ...@@ -23,10 +23,6 @@
# testing using \Symfony\Component\ErrorHandler\DebugClassLoader. # testing using \Symfony\Component\ErrorHandler\DebugClassLoader.
%The "Twig\\Environment::getTemplateClass\(\)" method is considered internal\. It may change without further notice\. You should not extend it from "Drupal\\Core\\Template\\TwigEnvironment"\.% %The "Twig\\Environment::getTemplateClass\(\)" method is considered internal\. It may change without further notice\. You should not extend it from "Drupal\\Core\\Template\\TwigEnvironment"\.%
# Skip deprecations warning for overriding Symfony properties in validation
# constraints. See https://www.drupal.org/project/drupal/issues/3425150.
%The "Symfony\\Component\\Validator\\Constraints\\[^"]+::\$[^"]+" property is considered final. You should not override it in "[^"]+"%
# Drupal 11. # Drupal 11.
%Drupal\\Core\\Form\\FormBuilder::getForm\(\).* will require a new "mixed \.\.\. \$args" argument in the next major version of its interface% %Drupal\\Core\\Form\\FormBuilder::getForm\(\).* will require a new "mixed \.\.\. \$args" argument in the next major version of its interface%
%Drupal\\Core\\Form\\FormBuilder::submitForm\(\).* will require a new "mixed \.\.\. \$args" argument in the next major version of its interface% %Drupal\\Core\\Form\\FormBuilder::submitForm\(\).* will require a new "mixed \.\.\. \$args" argument in the next major version of its interface%
......
...@@ -17,8 +17,14 @@ ...@@ -17,8 +17,14 @@
)] )]
class AllowedValuesConstraint extends Choice { class AllowedValuesConstraint extends Choice {
public $strict = TRUE; /**
public $minMessage = 'You must select at least %limit choice.|You must select at least %limit choices.'; * {@inheritdoc}
public $maxMessage = 'You must select at most %limit choice.|You must select at most %limit choices.'; */
public function __construct(...$args) {
$this->strict = TRUE;
$this->minMessage = 'You must select at least %limit choice.|You must select at least %limit choices.';
$this->maxMessage = 'You must select at most %limit choice.|You must select at most %limit choices.';
parent::__construct(...$args);
}
} }
...@@ -18,9 +18,15 @@ ...@@ -18,9 +18,15 @@
)] )]
class CountConstraint extends Count { class CountConstraint extends Count {
public $minMessage = 'This collection should contain %limit element or more.|This collection should contain %limit elements or more.'; /**
public $maxMessage = 'This collection should contain %limit element or less.|This collection should contain %limit elements or less.'; * {@inheritdoc}
public $exactMessage = 'This collection should contain exactly %limit element.|This collection should contain exactly %limit elements.'; */
public function __construct(...$args) {
$this->minMessage = 'This collection should contain %limit element or more.|This collection should contain %limit elements or more.';
$this->maxMessage = 'This collection should contain %limit element or less.|This collection should contain %limit elements or less.';
$this->exactMessage = 'This collection should contain exactly %limit element.|This collection should contain exactly %limit elements.';
parent::__construct(...$args);
}
/** /**
* {@inheritdoc} * {@inheritdoc}
......
...@@ -20,9 +20,9 @@ class EmailConstraint extends Email { ...@@ -20,9 +20,9 @@ class EmailConstraint extends Email {
/** /**
* {@inheritdoc} * {@inheritdoc}
*/ */
public function __construct($options = []) { public function __construct(...$args) {
$options += ['mode' => 'strict']; $this->mode = static::VALIDATION_MODE_STRICT;
parent::__construct($options); parent::__construct(...$args);
} }
/** /**
......
...@@ -20,9 +20,15 @@ ...@@ -20,9 +20,15 @@
)] )]
class LengthConstraint extends Length { class LengthConstraint extends Length {
public $maxMessage = 'This value is too long. It should have %limit character or less.|This value is too long. It should have %limit characters or less.'; /**
public $minMessage = 'This value is too short. It should have %limit character or more.|This value is too short. It should have %limit characters or more.'; * {@inheritdoc}
public $exactMessage = 'This value should have exactly %limit character.|This value should have exactly %limit characters.'; */
public function __construct(...$args) {
$this->maxMessage = 'This value is too long. It should have %limit character or less.|This value is too long. It should have %limit characters or less.';
$this->minMessage = 'This value is too short. It should have %limit character or more.|This value is too short. It should have %limit characters or more.';
$this->exactMessage = 'This value should have exactly %limit character.|This value should have exactly %limit characters.';
parent::__construct(...$args);
}
/** /**
* {@inheritdoc} * {@inheritdoc}
......
...@@ -23,15 +23,11 @@ class RangeConstraint extends Range { ...@@ -23,15 +23,11 @@ class RangeConstraint extends Range {
/** /**
* {@inheritdoc} * {@inheritdoc}
*/ */
public function __construct(array $options = NULL) { public function __construct(...$args) {
if (isset($options['min']) && isset($options['max'])) { $this->notInRangeMessage = 'This value should be between %min and %max.';
$options['notInRangeMessage'] = $options['notInRangeMessage'] ?? 'This value should be between %min and %max.'; $this->minMessage = 'This value should be %limit or more.';
} $this->maxMessage = 'This value should be %limit or less.';
else { parent::__construct(...$args);
$options['minMessage'] = $options['minMessage'] ?? 'This value should be %limit or more.';
$options['maxMessage'] = $options['maxMessage'] ?? 'This value should be %limit or less.';
}
parent::__construct($options);
} }
} }
...@@ -17,8 +17,6 @@ ...@@ -17,8 +17,6 @@
)] )]
class RegexConstraint extends Regex { class RegexConstraint extends Regex {
public $message = 'This value is not valid.';
/** /**
* {@inheritdoc} * {@inheritdoc}
*/ */
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment