[root]/Tests/Validation
Filter
(0 files, 0 lines)
Validator
(0 files, 0 lines)

| Author | Changes | Lines of Code | Lines per Change |
|---|---|---|---|
| Totals | 86 (100.0%) | 779 (100.0%) | 9.0 |
| robert | 11 (12.8%) | 305 (39.2%) | 27.7 |
| k-fish | 67 (77.9%) | 189 (24.3%) | 2.8 |
| sebastian | 2 (2.3%) | 132 (16.9%) | 66.0 |
| networkteam_hlubek | 3 (3.5%) | 107 (13.7%) | 35.6 |
| bwaidelich | 2 (2.3%) | 46 (5.9%) | 23.0 |
| andi | 1 (1.2%) | 0 (0.0%) | 0.0 |
Removed everything in trunk after move to git.
0 lines of code changed in 15 files:
[+BUGFIX] FLOW3 (Validation): ValidatorResolver no longer tries to use action method argument data type as validator type, fixes #4857. Optimized a little.
35 lines of code changed in 1 file:
[~TASK] FLOW3 (MVC): adjusted tests to removed default data type for Controller\Argument
2 lines of code changed in 1 file:
[-API] FLOW3 (MVC): Removed enableValidation() and disableValidation() on the Controller Argument. They are not needed anymore.
[!!!][+BUGFIX] FLOW3 (MVC): Now, in case people do not specify an @param annotation, they will get an exception instead of Text being used.
[+BUGFIX] FLOW3 (MVC): Cleaned up validator registration in ActionController. Now, @dontvalidate annotations only disable the model-based validators.
[+BUGFIX] FLOW3 (Validation): Cleaned up ValidatorResolver. Now, Validators which check the data type from the @param annotation are also added to the validator chain.
[!!!][+BUGFIX] FLOW3 (Validation): @param string is now validated as string, and not anymore as Text. This fixes numerous bug reports in Fluid.
131 lines of code changed in 1 file:
[+FEATURE] FLOW3 (MVC): It is now possible to disable validation temporarily for single controller arguments. This is necessary in situations where a knowingly incomplete / invalid argument needs to be passed to an action, for example an edit action. Validation can be disabled either by calling the disableValidation() method on the argument object or by adding a @dontvalidate $argumentName annotation to an action method. Resolves #4166
[+TASK] FLOW3 (Documentation): Documented the new @dontvalidate annotation.
[+FEATURE] FLOW3 (Package): The package manager's command line controller now returns a friendly error message on trying to activate or deactivate an already active or inactive package. Earlier it just threw an unpolished exception.
[+FEATURE] FLOW3 (Persistence): Implemented an update() method for the base repository which allows for conveniently updating existing objects. update() only expects one argument which must be a clone of the object to replace, already containing the modifications. The object passed to update() must internally contain the same uuid like the object to be updated (ie. replaced). In fact this new update() method is basically a more convenient way to call replace(). Resolves #4167
[+BUGFIX] FLOW3 (MVC): A @validate annotation placed in an action method's comment replaced existing rules instead of adding them to a common conjunction validator. By this it was possible to override any validation rule with a simple @validate $foo Raw annotation. Fixes #4168
6 lines of code changed in 1 file:
[~BUGFIX] FLOW3 (Validation): The ValidatorResolver test case failed - but only if the Blog package was installed. This was due to some Blog model being used by a data provider which in reality should have been a sample, not existing class. Fixed that.
[~TASK] FLOW3 (Validation): The TextValidator was too restrictive because it did not allow line breaks and other common characters - now it does. However, it's not really secure yet. Relates to #3977
[+BUGFIX] Fluid (Core): Added some safe guard and aception to the Abstract Node which would exit with a fatal error in some cases.
2 lines of code changed in 1 file:
[+TASK] FLOW3: Removed file level docblocks and @package/@subpackage annotations.
[+TASK] Fluid: Removed file level docblocks and @package/@subpackage annotations.
[+TASK] Kickstart: Removed file level docblocks and @package/@subpackage annotations.
[+TASK] PHP6: Removed file level docblocks and @package/@subpackage annotations.
[+TASK] PHPUnit: Removed file level docblocks and @package/@subpackage annotations.
[+TASK] Testing: Removed file level docblocks and @package/@subpackage annotations.
[+TASK] Welcome: Removed file level docblocks and @package/@subpackage annotations.
[+TASK] YAML: Removed file level docblocks and @package/@subpackage annotations.
0 lines of code changed in 2 files:
[FIX] FLOW3 (Validation): ValidatorResolver now accepts namespaced class names in validator annotations. This enables custom validator classes and fixes #3801
11 lines of code changed in 1 file:
[FIX] FLOW3 (Validation): ValidatorResolver can now parse validator arguments containing round brackets, commas, equal signs, fixes #3275. The option values must be quoted for this to work (either single or double quotes will do).
46 lines of code changed in 1 file:
?[!!!] FLOW3: New conventions for naming of Domain Models and Repositories in place, resolves #3507
17 lines of code changed in 1 file:
Added svn:keywords where missing...
2 lines of code changed in 1 file:
FLOW3:
* Removed FLOW3\Utility\GenericCollection from repository, it's currently not needed. Resolves #3400
* Moved method setArgumentsFromRawRequestData() from Router to RequestBuilder. Resolves #3368
* Renamed URIHelper to URIBuilder. Removed Classes HelperInterface, AbstractHelper and InvalidViewHelper Exception. Adapted AbstractView & ViewInterface. Resolves #3303
* Added section parameter to URIFor() method of the URIBuilder
* Refactored Base controllers - controllerContext is no instance variable anymore and will be created when passed to view in initializeView(). Resolves #3404
* ControllerContext is of scope prototype now. Added setter/getter for URIBuilder. Some cosmetic changes.
* Added getRequestPath() to Request.
* ControllerKeys (@controller, @action, @package, @subpackage and @format) can now be set by request arguments. Resolves #2853
4 lines of code changed in 1 file:
Object validation: Introduced PropertyError for nested errors and changed property mapper and mapping results. Resolves #3401
56 lines of code changed in 1 file:
Refactored ChainValidator to ConjunctionValidator and changed behaviour to validate all nested validators
40 lines of code changed in 1 file:
This commit is all about validation. Although the new features basically work, a few smaller features and tweak are missing before the whole concept works as intended. Documentation will follow (hopefully soon).
* FLOW3: (Validation) Implemented annotation based validation for models. That means you now can define validation rules by adding @validate annotations to class properties and these rules will be enforced when arguments of this type are passed as controller arguments. Resolves #3093 but some fine tuning and small additional features are missing.
* FLOW3: (Validation) Note that #3130 is not solved yet in this commit.
* FLOW3: (MVC) Implemented a MVC Controller Arguments Validator which is able to validate a whole Arguments object. This is used during the mapAndValidate process in the controller. Addresses #3093.
* FLOW3: (Property) The property mapper now accepts arrays as source and / or target.
* FLOW3: (Property) mapAndValidate() will now truly validate the result of the mapping. If the result does not validate, the target remains unchanged.
* FLOW3: (Validation) Removed the Filter Chain for now - it will surely come back but didn't work like it was currently implemented.
* FLOW3: (Validation) Improved the AbstractValidator and added a new AbstractObjectValidator
* FLOW3: (Validation) Adapted all validators to the new Validator interface and AbstractValidator
* FLOW3: (Validation) Implemented a new Generic Object validator which can validate properties of any object
* FLOW3: (Validation) Simplified the chaining of validators and during that process removed the ObjectValidatorChainValidator
* FLOW3: Added and adapted many tests
195 lines of code changed in 1 file:
* FLOW3: Raised required PHP version to 5.3.0RC1
* FLOW3: (Error) The \F3\FLOW3\Error\Error class now supports __toString()
* FLOW3: (MVC) Finished implementation of validation rules in the action methods. Now these rules are actually enforced. Now really resolves #3092.
* FLOW3: (MVC) The ActionController now checks if it can process the request ? didn't do that before. Fixes #3121.
* FLOW3: (Property) The property mapper's mapAndValidate() method now actually validates the source.
* FLOW3: (Reflection) The Reflection Service now detects class file changes again. (Problem was that the settings were not injected anymore because autowiring was turned off for the Reflection Service in the Objects.yaml) Fixes #3152.
* FLOW3: (Validation) Removed the Validation\Errors class - now a simple array is used instead.
* FLOW3: (Validation) Removed the $errors argument from FilterInterface::filter(). More changes to this interface will follow.
* FLOW3: (Validation) Validation options must be set with the new setOptions() method instead of passing them to the isValid() method.
* FLOW3: (Validation) The errors array is not passed to the isValid() method of a validator anymore - instead it can be retrieved by a new getErrors() method which is defined in the ValidatorInterface.
* FLOW3: (Validation) Validators may now be singleton or prototype. Marked all those validators as prototype which require options and let others be singletons.
* FLOW3: (Validation) Removed the public resolveValidatorClassName() method from the ValidatorResolver class.
* FLOW3: (Validation) !!! changed the option names of the StringLength validator: now they are "minimum" and "maximum"
* FLOW3: (Validation) Changed the ObjectValidatorInterface: canValidateType() is now canValidate() and asks for an objects instead of a class name.
* FLOW3: (Validation) The first argument of the Validator Resolver's createMethodValidator() has changed: Now either the short name or a fully qualified object name of a _validator_ is expected (instead of the data type)! Maybe also addresses #3130.
* FLOW3: (Documentation) Added a few lines of documentation and an example for the validation rules feature. More to come.
* Fluid: (Core) Fixed a test which was referring to the \F3\FLOW3\Validation\Errors class.
53 lines of code changed in 1 file:
* FLOW3: (Validation) added more types to unifyDataType() in ValidationResolver. Additionally passed dataType through ucfirst() in order to find matching Validators for @param types (which are lower case by default)
arguments of type "mixed" will be passed to RawValidator now - this might need to be revised, I'm committing this anyways as these changes are needed for the upcoming Fluid-commit.
Relates to #3130
42 lines of code changed in 1 file:
* FLOW3: (MVC) Implemented the automatic validation rule registration based on @validate annotations in action methods. Note that validators are registered now but validation still does not happen (yet). Resolves #3092
* FLOW3: (Validation) Modified the API of the ValidatorResolver
5 lines of code changed in 1 file:
FLOW3:
* Validation: Rewrote the ValidatorResolver, and removed the NoValidatorFound exception
* Reflection: when calling Reflection\Service->getMethodParameters(), a "type" is returned, taken from the PHPDoc comment above
* MVC: Controller\ActionController: Refactored to use the new ReflectionService
1 lines of code changed in 1 file:
* FLOW3: (MVC) For now removed the ArgumentsValidator. It will surely reappear in a different form, but currently doesn't fit anymore.
* FLOW3: (Validation) Refactored the ValidatorInterface and the ObjectValidatorInterface and adapated all of their implementations including tests. The interfaces are cleaner and more intuitive now.
* TestPackage: Removed a few classes which were not used anymore. We're really close to getting rid of the whole TestPackage once and for all!
6 lines of code changed in 1 file:
This is a commit of work in progress. If you're already using FLOW3 (semi-) productively, you better skip this version because the MVC framework currently lacks validation and might lead to some other unexpected behavior. OTOH the code seems to be quite stable, so nothing to really worry about. More code related to the MVC framework and especially validation will follow soon, I just had to get rid of all these changes ...
* FLOW3: (Persistence) Made sure that the object name "...\Persistence\ManagerInterface" is used everywhere instead of "...\Persistence\Manager".
* FLOW3: (Error) Annotated the "Error" and "Warning" class as prototype and renamed *ErrorMessage() and *ErrorCode() to *Message() and *Code().
* FLOW3: (MVC) Fixed and re-enabled tests of the Abstract Controller
* FLOW3: (MVC) !!! Started rewriting the argument mapping mechanism. It should work but be aware that NO VALIDATION and NO FILTERING is active at the moment!
* FLOW3: (MVC) The automatic argument registration in the Action Controller now detects optional arguments and registers them as such.
* FLOW3: (MVC) Cleaned up the Argument(s) classes and implemented an early version of identity support in setValue()
* FLOW3: (MVC) Added initial implementation of identity support for the resolve() method of a DynamicRoutePart. I'll give more information on this topic as soon as it's completely implemented.
* FLOW3: (MVC) Removed the emit* method in the router and replaced it by a call to the System Logger: Now the log contains an entry stating which route has been chosen.
* FLOW3: (Persistence) In the ClassSchema renamed the (is)RepositoryManaged property and methods to (is)AggregateRoot.
* FLOW3: (Persistence) Added safeguard to the Persistence\Manager::getClassSchema() method
* FLOW3: (Property / MVC) For now, completely removed the concept of Property Converters!
* FLOW3: (Property) Started reimplementing the Property Mapper. Most of the old functionality has been removed but much of it will return soon.
* FLOW3: (Reflection) Changed the order of access method detection in the ObjectAccess class. Any other order causes proplems in the MVC mechanism. If a property could not be accessed, now NULL is returned (instead of throwing an exception)
* FLOW3: (Validation) Moved the AbstractValidator and Validation interfaces to the Validator sub package
* Fluid: (ViewHelpers) Added support for an "arguments" attribute in the FormViewHelper which allows for specifying arguments for the action URI.
1 lines of code changed in 1 file:
!!! Globally renamed all class files to the new shorter version. Resolves #2524
FLOW3: (Resource) Adapted the class loader and other related parts of FLOW3 to the new class filename convention
FLOW3: Moved the FLOW3 bootstrap into the F3\FLOW3 namepace
25 lines of code changed in 1 file:
FLOW3:
* fixed license name in @license annotation, fixes #2454
1 lines of code changed in 1 file:
FLOW3:
* changed license to LGPL v3 or later
14 lines of code changed in 1 file:
FLOW3:
* refactored a bunch of unit tests so they no longer need a real FLOW3 to run, refs #2123
27 lines of code changed in 1 file:
!!! 5.3.0alpha3 namespaces refactoring:
* changed namespace delimiter from :: to \
* all class references in namespaced code prepended by \
PHPUnit:
* adapted mock object handling to the new namespaces syntax
FLOW3:
* PropertyReflection now uses setAccessible() instead of array cast to access protected properties
PHPCR:
* added a missing interface already used for type hints
10 lines of code changed in 1 file:
* FLOW3: (Component) Renamed "component" to "object" - everywhere. That means we now have an Object Manager instead of a Component Manager, an Object Factory etc. Resolves #2119
Globally adjusted all code for the above change.
3 lines of code changed in 1 file:
* FLOW3: (Component) Renamed the method Component::Factory->getComponent() to Component::Factory->create(). Resolves #1846
* FLOW3: (Component) Component::Factory->create() will now throw an exception on trying to create a component of scope != prototype
* FLOW3: (Component) The Component::Manager->getComponent() method can still be used as a last resort to retrieve components of any scope. However dependency injection for singletons and the component factory for prototype should always be the first choice!
Refactored all packages of the TYPO3 distribution to match the above changes.
Note: The test "F3::TYPO3CR::NodeTest::setPropertySetsValue" currently fails on my machine with the following message:
Error in setPropertySetsValue with data set #34 Detail
TYPO3CR/Classes/F3_TYPO3CR_Node.php:577
Unable to convert value of type string to Name: Namespace prefix is invalid
3 lines of code changed in 1 file:
Set svn:keywords property to Id on all PHP files.
2 lines of code changed in 1 file:
!!! Major change, will break existing code.
Part 3 - Packages
FLOW3, most other packages:
* added namespaces to the code of FLOW3 and all packages in the current TYPO3v5 distribution.
PHPUnit:
* some changes to make PHPUnit (more) namespace-compatible.
Some notes:
* Documentation updates will follow
* you might need to change your class names when adapting namespaces to avoid using "Class", "Empty", "Default", ...
* expect FLOW3CGL and/or PHPCodeSniffer to be broken (I'll have a look)
* some parts might still be broken, especially in edge-cases where the global namespace needs to explicitly used
12 lines of code changed in 1 file:
Implemented the first part of the security framework.
* FLOW3 (Security): Implemented the session security context holder
* FLOW3 (Security): Implemented the security context that provides the current context based on request patterns and the configured authentication strategy
* FLOW3 (Security): Implemented a basic filter firewall that can be configured in the FLOW3 configuration file
* FLOW3 (Security): Implemented a basic security interceptor, that triggers the authentication process and can be placed in the firewall
* FLOW3 (Security): Implemented the authentication (provider) manager and a very basic username/password provider with its token
* FLOW3 (MVC): Changed some tests to use mock objects (firewall and security context holder)
* FLOW3 (Validation): Fixed a bug in the alphanumeric validator
0 lines of code changed in 1 file:
!!! Important global change !!!
Extracted the getComponent() method from the Component Manager into its own class, the Component Factory. From now on, use the factory if you only need the getComponent() functionality and use the manager if you need the more advanced functions.
6 lines of code changed in 1 file:
Making FLOW3 run green(er) in FLOW3CGL, part 1.
21 lines of code changed in 13 files:
Pending commit, fixes #477.
0 lines of code changed in 26 files: