Proyectos de Subversion LeadersLinked - Backend

Rev

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

<?php

declare(strict_types=1);

namespace LeadersLinked\Form\Job;

use Laminas\InputFilter\InputFilter;

class JobLocationFilter extends InputFilter
{
    public function __construct()
    {
        $this->add([
            'name' => 'formatted_address',
            'required' => true,
            'filters' => [
                ['name' => \Laminas\Filter\StripTags::class],
                ['name' => \Laminas\Filter\StringTrim::class],
            ],
            'validators' => [
                [
                    'name' => \Laminas\Validator\NotEmpty::class,
                ],
            ],
        ]);
        
        $this->add([
            'name' => 'address1',
            'required' => false,
            'filters' => [
                ['name' => \Laminas\Filter\StripTags::class],
                ['name' => \Laminas\Filter\StringTrim::class],
            ],
        ]);
        
        $this->add([
            'name' => 'address2',
            'required' => false,
            'filters' => [
                ['name' => \Laminas\Filter\StripTags::class],
                ['name' => \Laminas\Filter\StringTrim::class],
            ],
        ]);
        
        $this->add([
            'name' => 'country',
            'required' => true,
            'filters' => [
                ['name' => \Laminas\Filter\StripTags::class],
                ['name' => \Laminas\Filter\StringTrim::class],
            ],
            'validators' => [
                [
                    'name' => \Laminas\Validator\StringLength::class,
                    'options' => [
                        'encoding' => 'UTF-8',
                        'max' => 128,
                    ],
                ],
                [
                    'name' => \Laminas\Validator\NotEmpty::class,
                ],
            ],
        ]);
        
        $this->add([
            'name' => 'state',
            'required' => true,
            'filters' => [
                ['name' => \Laminas\Filter\StripTags::class],
                ['name' => \Laminas\Filter\StringTrim::class],
            ],
            'validators' => [
                [
                    'name' => \Laminas\Validator\StringLength::class,
                    'options' => [
                        'encoding' => 'UTF-8',
                        'max' => 128,
                    ],
                ],
                [
                    'name' => \Laminas\Validator\NotEmpty::class,
                ],
            ],
        ]);
        
        $this->add([
            'name' => 'city1',
            'required' => true,
            'filters' => [
                ['name' => \Laminas\Filter\StripTags::class],
                ['name' => \Laminas\Filter\StringTrim::class],
            ],
            'validators' => [
                [
                    'name' => \Laminas\Validator\StringLength::class,
                    'options' => [
                        'encoding' => 'UTF-8',
                        'max' => 128,
                    ],
                ],
            ],
        ]);
        
        $this->add([
            'name' => 'city2',
            'required' => false,
            'filters' => [
                ['name' => \Laminas\Filter\StripTags::class],
                ['name' => \Laminas\Filter\StringTrim::class],
            ],
            'validators' => [
                [
                    'name' => \Laminas\Validator\StringLength::class,
                    'options' => [
                        'encoding' => 'UTF-8',
                        'max' => 128,
                    ],
                ],
            ],
        ]);

        $this->add([
            'name' => 'postal_code',
            'required' => false,
            'filters' => [
                ['name' => \Laminas\Filter\StripTags::class],
                ['name' => \Laminas\Filter\StringTrim::class],
            ],
            'validators' => [
                [
                    'name' => \Laminas\Validator\StringLength::class,
                    'options' => [
                        'encoding' => 'UTF-8',
                        'max' => 6,
                    ],
                ],
            ],
        ]);

        $this->add([
            'name' => 'latitude',
            'required' => true,
            'filters' => [
                ['name' => \LeadersLinked\Filter\Floatval::class],
            ],
            'validators' => [

                [
                    'name' => \Laminas\Validator\NotEmpty::class,
                ],
            ],
        ]);
        
        $this->add([
            'name' => 'longitude',
            'required' => true,
            'filters' => [
                ['name' => \LeadersLinked\Filter\Floatval::class],
            ],
            'validators' => [
                
                [
                    'name' => \Laminas\Validator\NotEmpty::class,
                ],
            ],
        ]);
        
        $this->add([
            'name' => 'is_main',
            'required' => false,
            'filters' => [
                ['name' => \Laminas\Filter\StripTags::class],
                ['name' => \Laminas\Filter\StringTrim::class],
            ],
            'validators' => [
                [
                    'name' => \Laminas\Validator\StringLength::class,
                    'options' => [
                        'encoding' => 'UTF-8',
                        'max' => 1,
                    ],
                ],
            ],
        ]);
    }
}