PHP code example of laminas-api-tools / api-tools-content-validation
1. Go to this page and download the library: Download laminas-api-tools/api-tools-content-validation library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
laminas-api-tools / api-tools-content-validation example snippets
return [
/* ... */
'modules' => [
/* ... */
'Laminas\ApiTools\ContentValidation',
],
/* ... */
];
'api-tools-content-validation' => [
'Application\Controller\HelloWorld' => [
'input_filter' => 'Application\Controller\HelloWorld\Validator',
'POST' => 'Application\Controller\HelloWorld\CreationValidator',
],
],
'input_filter_specs' => [
'Application\Controller\HelloWorldGet' => [
0 => [
'name' => 'name',
'ptions' => [],
],
],
'validators' => [],
'description' => 'Hello to name',
'allow_empty' => false,
'continue_if_empty' => false,
],
],
namespace Laminas\ApiTools\ContentValidation;
use Laminas\InputFiler\InputFilterAbstractServiceFactory;
use Laminas\ServiceManager\Factory\InvokableFactory;
return [
'controller_plugins' => [
'aliases' => [
'getinputfilter' => InputFilter\InputFilterPlugin::class,
'getInputfilter' => InputFilter\InputFilterPlugin::class,
'getInputFilter' => InputFilter\InputFilterPlugin::class,
],
'factories' => [
InputFilter\InputFilterPlugin::class => InvokableFactory::class,
],
],
'input_filters' => [
'abstract_factories' => [
InputFilterAbstractServiceFactory::class,
],
],
'service_manager' => [
'factories' => [
ContentValidationListener::class => ContentValidationListenerFactory::class,
],
],
'validators' => [
'factories' => [
'Laminas\ApiTools\ContentValidation\Validator\DbRecordExists' => Validator\Db\RecordExistsFactory::class,
'Laminas\ApiTools\ContentValidation\Validator\DbNoRecordExists' => Validator\Db\NoRecordExistsFactory::class,
],
],
];
$events->listen(ContentValidationListener::EVENT_BEFORE_VALIDATE, function ($e) {
if ($e->getController() !== MyRestController::class) {
return;
}
$matches = $e->getRouteMatch();
$data = $e->getParam('Laminas\ApiTools\ContentValidation\ParameterData') ?: [];
$data['id'] = $matches->getParam('id');
$e->setParam('Laminas\ApiTools\ContentValidation\ParameterData', $data);
});