Proyectos de Subversion LeadersLinked - Services

Rev

Rev 307 | Autoría | Comparar con el anterior | Ultima modificación | Ver Log |

<?php

declare(strict_types=1);

namespace LeadersLinked\Form\Habit;

use Laminas\InputFilter\InputFilter;

class HabitGoalFilter extends InputFilter
{

    /**
     *
     * @param \Laminas\Db\Adapter\AdapterInterface $adapter
     * @param int $user_id
     */
    public function __construct($adapter, $user_id) 
    {
        $this->add([
            'name' => 'name',
            'required' => true,
            'filters' => [
                ['name' => \Laminas\Filter\StringTrim::class],
                ['name' => \Laminas\Filter\StripTags::class],
            ],
            'validators' => [
                [
                    'name' => \Laminas\Validator\NotEmpty::class,
                ],
                [
                    'name' => \Laminas\Validator\StringLength::class,
                    'options' => [
                        'encoding' => 'UTF-8',
                        'max' => 100,
                    ],
                ],
            ],
        ]);
        
        $this->add([
            'name' => 'description',
            'required' => false,
            'filters' => [
                ['name' => \Laminas\Filter\StringTrim::class],
                ['name' => \Laminas\Filter\StripTags::class],
            ],
            'validators' => [
                [
                    'name' => \Laminas\Validator\NotEmpty::class,
                ],
                [
                    'name' => \Laminas\Validator\StringLength::class,
                    'options' => [
                        'encoding' => 'UTF-8',
                        'max' => 512,
                    ],
                ],
            ],
        ]);
        
        
        
        
        $this->add([
            'name' => 'value',
            'required' => true,
            'filters' => [
                ['name' => \LeadersLinked\Filter\Floatval::class],
            ],
            'validators' => [
                [
                    'name' => \Laminas\Validator\NotEmpty::class,
                ],
            ],
        ]);
        
        $this->add([
            'name' => 'start_date',
            'required' => false,
            'filters' => [
                ['name' => \Laminas\Filter\StringTrim::class],
                ['name' => \Laminas\Filter\StripTags::class],
            ],
            'validators' => [
                [
                    'name' => \Laminas\Validator\NotEmpty::class,
                ],
                [
                    'name' => \Laminas\Validator\Date::class,
                    'options' => [
                        'format' => 'Y-m-d',
                    ],
                ],
               
            ],
        ]);
        
        $this->add([
            'name' => 'end_date',
            'required' => false,
            'filters' => [
                ['name' => \Laminas\Filter\StringTrim::class],
                ['name' => \Laminas\Filter\StripTags::class],
            ],
            'validators' => [
                [
                    'name' => \Laminas\Validator\NotEmpty::class,
                ],
                [
                    'name' => \Laminas\Validator\Date::class,
                    'options' => [
                        'format' => 'Y-m-d',
                    ],
                ],
            ],
        ]);
        

        
        $this->add([
                'name' => 'skill_id',
                'required' => true,
                'filters' => [
                    ['name' => \Laminas\Filter\StripTags::class],
                    ['name' => \Laminas\Filter\StringTrim::class],
                ],
                'validators' => [
                    [
                        'name' => \Laminas\Validator\NotEmpty::class,
                    ],
                    /*
                    [
                        'name' => \LeadersLinked\Validator\RecordExistsMultiValues::class,
                        'options' => [
                            'adapter' => $adapter,
                            'table' => \LeadersLinked\Mapper\HabitSkillMapper::_TABLE,
                            'field' => 'uuid'
                        ]
                    ]*/
                    /*
                    [
                        'name' => \LeadersLinked\Validator\RecordExistsMultiValues::class,
                        'options' => [
                            'adapter' => $adapter,
                            'table' => \LeadersLinked\Mapper\HabitSkillMapper::_TABLE,
                            'field' => 'uuid',
                            'custom_fields' => [
                                'user_id' => $user_id
                            ]
                        ]
                    ]*/
                ],
            ]);
        
        
        
        
      
    }
}