[Flow] Validation triggered when trying to show object in rest controller
Carsten Bleicker
carsten at bleicker.de
Wed Nov 5 13:39:19 CET 2014
Running into the same and solved it by override the action invoking the validation:
/**
* Invokes only on writing request methods (POST/PUT/PATCH)
*
* @return void
*/
protected function initializeActionMethodValidators() {
if ($this->request->getHttpRequest()->getMethod() === 'POST' || $this->request->getHttpRequest()->getMethod() === 'PUT' || $this->request->getHttpRequest()->getMethod() === 'PATCH') {
parent::initializeActionMethodValidators();
}
}
----------------------
Carsten Bleicker
Wülfingstraße 1
42477 Radevormwald
E-Mail: carsten at bleicker.de
Web: www.bleicker.de
Twitter: @carstenbleicker
Jabber: cbleicker at jabber.ccc.de
Telefon: +49 (0)171-2690845
Am 05.11.2014 um 13:21 schrieb Christian Loock <chl at vkf-renzel.de>:
> Hello,
>
> I am currently trying to implement a simple REST Controller. I defined a route like so:
>
> -
> name:'Project REST by FileSystem Name'
> uriPattern:'REST/project/{project.fileSystemName}'
> defaults:
> '@format':'json'
> '@package':'RA.ReleaseManager'
> '@controller':'projectRest'
> routeParts:
> project:
> objectType:'RA\ReleaseManager\Domain\Model\Project'
>
> If I now try to call the controller, the validation of the Project Model is triggered:
>
> Validation failed while trying to call RA\ReleaseManager\Controller\ProjectRestController->showAction().
>
> In the Model, I have defined Validation for a property:
>
> /**
> * The name, working copies of this project get in the file system, eg. flow_vkf_admin
> *@varstring
> *@Flow\Validate(type="RegularExpression", options={"regularExpression"="/^[^_]*_[^_]*_[^_]*$/"})
> *@Flow\Validate(type="NotEmpty")
> */
> protected$fileSystemName;
>
> But I wonder, why this is even triggered, and why it throws an error, since it is a model, that has been created before using the MVC stack, running through validation just fine. Unfortunatly it doesnt give me any further information on why the validation fails. I already looked into the logs, with no success in finding what is going wrong here.
>
> So this let's me with a couple of questions:
>
> 1. Why is Validation even triggered on a safe (GET) request.
> 2. How is it possible that the validation fails, for an object that should be loaded from the database, according to the routing.
> 3. Where can I see why the validation fails in a REST controller?
> _______________________________________________
> Flow mailing list
> Flow at lists.typo3.org
> http://lists.typo3.org/cgi-bin/mailman/listinfo/flow
More information about the Flow
mailing list