Bernhard Schussek
ce1d2093bd
[Validator] Added ConstraintViolation::getConstraint()
2014-08-19 11:39:05 +02:00
Jérôme Parmentier
b8c0a1206a
[Validator] Fix little typo in ExecutionContextInterface::buildViolation() method comments
2014-08-12 15:12:25 +02:00
Bernhard Schussek
cd29962dc0
minor #11463 [Validator] prevent unnecessary calls inside ExecutionContext (Tobion)
...
This PR was merged into the 2.5 branch.
Discussion
----------
[Validator] prevent unnecessary calls inside ExecutionContext
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets |
| License | MIT
Small performance improvement by preventing calls to `PropertyPath::append($this->propertyPath, $subPath)` when not needed.
Commits
-------
d6d462a
[Validator] do not call getter inside ExecutionContext to prevent unnecessary calls
2014-07-28 16:51:00 +02:00
Bernhard Schussek
ff489390c6
[Validator] Added markObjectAsInitialized() and isObjectInitialized() to ExecutionContextInterface
2014-07-26 14:46:01 +02:00
Bernhard Schussek
14b60c8c8f
[Validator] Fixed doc block
2014-07-26 14:41:49 +02:00
Tobias Schultze
d6d462a8a7
[Validator] do not call getter inside ExecutionContext to prevent unnecessary calls
2014-07-24 16:44:45 +02:00
Bernhard Schussek
91bf2774a2
[Validator] Made sure that context changes don't leak out of (Contextual)ValidatorInterface
2014-07-24 12:18:38 +02:00
Bernhard Schussek
ce04073b4e
[Validator] Fixed object initializers in 2.5 version of the Validator
2014-07-21 10:57:43 +02:00
Fabien Potencier
f72eb34fc4
fixed types in phpdocs
2014-04-16 12:36:34 +02:00
Bernhard Schussek
c5629bb7ee
[Validator] Added getObject() to ExecutionContextInterface
2014-03-30 18:31:00 +02:00
Bernhard Schussek
0946dbe7a0
[Validator] Adapted CHANGELOG
2014-03-30 18:30:09 +02:00
Bernhard Schussek
7bc952de55
[Validator] Improved inline documentation of RecursiveContextualValidator
2014-03-30 18:30:09 +02:00
Bernhard Schussek
166d71a7de
[Validator] Removed unused property
2014-03-30 18:30:09 +02:00
Bernhard Schussek
3183aed7cd
[Validator] Improved performance of cache key generation
2014-03-30 18:30:09 +02:00
Bernhard Schussek
2f23d9725b
[Validator] Reduced number of method calls on the execution context
2014-03-30 18:30:09 +02:00
Bernhard Schussek
94ef21e495
[Validator] Optimized use statements
2014-03-30 18:30:09 +02:00
Bernhard Schussek
274d4e6195
[Validator] Changed ValidatorBuilder to always use LegacyExecutionContext
...
This is necessary because, until Symfony 3.0, constraint validators will continue
to rely on the old context methods in order to be backwards compatible.
2014-03-30 18:28:59 +02:00
Bernhard Schussek
23534ca6ab
[Validator] Added a recursive clone of the new implementation for speed comparison
2014-03-30 18:28:59 +02:00
Bernhard Schussek
93fdff764a
[Validator] The supported API versions can now be passed to the ValidatorBuilder
2014-03-30 18:28:58 +02:00
Bernhard Schussek
987313d315
[Validator] Improved inline documentation of the violation builder
2014-03-30 18:28:58 +02:00
Bernhard Schussek
01ceeda376
[Validator] Improved test coverage of the Traverse constraint
2014-03-30 18:28:58 +02:00
Bernhard Schussek
299c2dca10
[Validator] Improved test coverage and prevented duplicate validation of constraints
2014-03-30 18:28:58 +02:00
Bernhard Schussek
dbce5a2f6a
[Validator] Updated outdated doc blocks
2014-03-30 18:28:58 +02:00
Bernhard Schussek
8558377945
[Validator] Added deprecation notes
2014-03-30 18:28:57 +02:00
Bernhard Schussek
e8fa15b27c
[Validator] Fixed the new validator API under PHP < 5.3.9
2014-03-30 18:28:57 +02:00
Bernhard Schussek
08172bfe7b
[Validator] Merged validate(), validateObject() and validateObjects() to simplify usage
2014-03-30 18:28:56 +02:00
Bernhard Schussek
94583a9289
[Validator] Changed NodeTraverser to traverse nodes iteratively, not recursively
...
In this way, the deep method call chains are avoided. Also, it is possible to
avoid the many calls to leaveNode(), which are currently not really needed.
2014-03-30 18:28:56 +02:00
Bernhard Schussek
e057b19964
[Validator] Decoupled ContextRefresher from ExecutionContext
2014-03-30 18:28:56 +02:00
Bernhard Schussek
df41974f31
[Validator] Changed context manager to context factory
...
The current context is not stored anymore. Instead, it is passed around the traverser
and the visitors. For this reason, validation can occur in multiple contexts at the
same time.
2014-03-30 18:28:56 +02:00
Bernhard Schussek
26eafa43f7
[Validator] Removed unused use statements
2014-03-30 18:28:56 +02:00
Bernhard Schussek
bc29591935
[Validator] Clearly separated classes supporting the API <2.5/2.5+
2014-03-30 18:28:55 +02:00
Bernhard Schussek
1e81f3bdc8
[Validator] Finished test coverage and documentation of ExecutionContextManager
2014-03-30 18:28:55 +02:00
Bernhard Schussek
feb3d6f202
[Validator] Tested the validation in a separate context
2014-03-30 18:28:55 +02:00
Bernhard Schussek
718601c6c3
[Validator] Changed validateValue() to validate() in the new API
...
The validation of values against constraints should be a first-class citizen
in the API. For this reason, validate() now takes a value and a constraint or
a list of constraints. This method should be used for the most basic use
cases.
If users want to annotate objects with constraints (this is optional,
advanced functionality), they can use the more expressive validateObject()
method now. For traversing arrays or Traversables, a new method
validateCollection() is now available in the API.
2014-03-30 18:28:55 +02:00
Bernhard Schussek
ee1adadbfb
[Validator] Implemented handling of arrays and Traversables in LegacyExecutionContext::validate()
2014-03-30 18:28:55 +02:00
Bernhard Schussek
9b07b0c672
[Validator] Implemented BC validation of arrays through validate()
2014-03-30 18:28:55 +02:00
Bernhard Schussek
4ea3ff6688
[Validator] Finished inline documentation of ExecutionContext[Interface]
2014-03-30 18:28:54 +02:00
Bernhard Schussek
8ae68c9543
[Validator] Made tests green (yay!)
2014-03-30 18:28:54 +02:00
Bernhard Schussek
b1a947737a
[Validator] Added ObjectInitializer visitor
2014-03-30 18:28:54 +02:00
Bernhard Schussek
7e3a41d9db
[Validator] Moved visitors to NodeVisitor namespace
2014-03-30 18:28:54 +02:00
Bernhard Schussek
a40189ccb7
[Validator] Decoupled the new classes a bit
2014-03-30 18:28:54 +02:00
Bernhard Schussek
a6ed4cae5d
[Validator] Prototype of the traverser implementation
2014-03-30 18:28:53 +02:00