bug #24519 [Validator] [Twig] added magic method __isset() to File Constraint class (loru88)

This PR was submitted for the 3.4 branch but it was merged into the 2.7 branch instead (closes #24519).

Discussion
----------

[Validator] [Twig] added magic method __isset()  to File Constraint class

| Q             | A
| ------------- | ---
| Branch?       | 3.4 or master / 2.7, 2.8 or 3.3 <!-- see comment below -->
| Bug fix?      | no
| New feature?  | yes <!-- don't forget to update src/**/CHANGELOG.md files -->
| BC breaks?    | no
| Deprecations? | no <!-- don't forget to update UPGRADE-*.md files -->
| Tests pass?   | yes
| Fixed tickets | #24512  <!-- #-prefixed issue number(s), if any -->
| License       | MIT
| Doc PR        | symfony/symfony-docs#... <!--highly recommended for new features-->

In my project I get assert constraints from one of my entity and I use this value in my front end via Twig.
I faced a problem with the property $maxSize of the File Constraint.

As this property is protected I cannot access it via Twig because the magic method __isset is missing, as I read in twig documentation.
<!--
- Bug fixes must be submitted against the lowest branch where they apply
  (lowest branches are regularly merged to upper ones so they get the fixes too).
- Features and deprecations must be submitted against the 3.4,
  legacy code removals go to the master branch.
- Please fill in this template according to the PR you're about to submit.
- Replace this comment by a description of what your PR is solving.
-->

Commits
-------

9efb76572a [Validator] added magic method __isset()  to File Constraint class
This commit is contained in:
Fabien Potencier 2017-10-12 14:44:38 -07:00
commit 2059609ccb
1 changed files with 9 additions and 0 deletions

View File

@ -88,6 +88,15 @@ class File extends Constraint
return parent::__get($option);
}
public function __isset($option)
{
if ('maxSize' === $option) {
return true;
}
return parent::__isset($option);
}
private function normalizeBinaryFormat($maxSize)
{
$sizeInt = (int) $maxSize;