Proyectos de Subversion LeadersLinked - Backend

Rev

Autoría | Ultima modificación | Ver Log |

<?php

declare(strict_types=1);

namespace LeadersLinked\Form\PerformanceEvaluation;

use Laminas\InputFilter\InputFilter;
use Laminas\Db\Adapter\AdapterInterface;
use LeadersLinked\Mapper\PerformanceEvaluationFormMapper;
use LeadersLinked\Mapper\UserMapper;

class PerformanceEvaluationTestFilter extends InputFilter
{

    /**
     * 
     * @param AdapterInterface $adapter
     */
    public function __construct(AdapterInterface $adapter)
    {
        $this->add([
            'name' => 'last_date',
            'filters' => [
                ['name' => \Laminas\Filter\StripTags::class],
                ['name' => \Laminas\Filter\StringTrim::class],
            ],
            'required' => true,
            'validators' => [
                [
                    'name' => \Laminas\Validator\NotEmpty::class,
                ],
                [
                    'name' => \Laminas\Validator\Date::class,
                    'options' => [
                        'format' => 'Y-m-d',
                        //'strict' => true
                    ],
                ],
                
            ],
        ]);
        
        $this->add([
            'name' => 'form_id',
            'required' => true,
            'filters' => [
                ['name' => \Laminas\Filter\StripTags::class],
                ['name' => \Laminas\Filter\StringTrim::class],
            ],
            'validators' => [
                [
                    'name' => \Laminas\Validator\NotEmpty::class,
                ],
                [
                    'name' => \Laminas\Validator\Db\RecordExists::class,
                    'options' => [
                        'adapter' => $adapter,
                        'table' => PerformanceEvaluationFormMapper::_TABLE,
                        'field' => 'uuid'
                    ]
                ]
            ],
        ]);

   
        $this->add([
            'name' => 'supervisor_id',
            'required' => true,
            'filters' => [
                ['name' => \Laminas\Filter\StripTags::class],
                ['name' => \Laminas\Filter\StringTrim::class],
            ],
            'validators' => [
                [
                    'name' => \Laminas\Validator\NotEmpty::class,
                ],
                [
                    'name' => \Laminas\Validator\Db\RecordExists::class,
                    'options' => [
                        'adapter' => $adapter,
                        'table' => UserMapper::_TABLE,
                        'field' => 'uuid'
                    ]
                ]
            ],
        ]);
        
        $this->add([
            'name' => 'employee_id',
            'required' => true,
            'filters' => [
                ['name' => \Laminas\Filter\StripTags::class],
                ['name' => \Laminas\Filter\StringTrim::class],
            ],
            'validators' => [
                [
                    'name' => \Laminas\Validator\NotEmpty::class,
                ],
                [
                    'name' => \Laminas\Validator\Db\RecordExists::class,
                    'options' => [
                        'adapter' => $adapter,
                        'table' => UserMapper::_TABLE,
                        'field' => 'uuid'
                    ]
                ],
                [
                    'name' => \LeadersLinked\Validator\DifferentThanOtherField::class,
                    'options' => [
                        'token' => 'supervisor_id',
                     ]
                ]
            ],
        ]);
        
    }
}