Proyectos de Subversion LeadersLinked - Backend

Rev

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

<?php

declare(strict_types=1);

namespace LeadersLinked\Form\Microlearning;

use Laminas\InputFilter\InputFilter;
use LeadersLinked\Mapper\IndustryMapper;
use LeadersLinked\Mapper\CompanySizeMapper;

class QuizCreateOrEditFilter extends InputFilter
{
    public function __construct()
    {
        $this->add([
            'name' => 'name',
            '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' => 'text',
            'required' => true,
            'filters' => [
                ['name' => \Laminas\Filter\StringTrim::class],
                ['name' => \LeadersLinked\Filter\HtmlPurify::class],
                [
                    'name' => \Laminas\Filter\StripTags::class,
                    'options' => [
                        'allowTags'     => [
                            'h1','h2','h3','h4','h5','46','p','pre','strong','em','s','span','big','small','tt',
                            'code','kbd','samp','var','del','ins','cite','hr','table','thead','tr','th','td','img',
                            'a','style'
                        ],
                    ]
                    
                ],
            ],
            'validators' => [
                [
                    'name' => \Laminas\Validator\NotEmpty::class,
                ],
            ],
        ]);
        */

        
        
        $this->add([
            'name' => 'points',
            'required' => true,
            'filters' => [
                ['name' => \Laminas\Filter\Digits::class],
            ],
            'validators' => [
                [
                    'name' => \Laminas\Validator\NotEmpty::class,
                ],
                [
                    'name' =>\Laminas\Validator\Digits::class,
                ],
                [
                    'name' => \Laminas\Validator\GreaterThan::class,
                    'options' => [
                        'min' => 1,
                        'inclusive' => true,
                    ]
                ],
                [
                    'name' => \Laminas\Validator\LessThan::class,
                    'options' => [
                        'max' => 100,
                        'inclusive' => true,
                    ]
                ],
            ],
        ]);
        
        
        $this->add([
            'name' => 'minimum_points_required',
            'required' => true,
            'filters' => [
                ['name' => \Laminas\Filter\Digits::class],
            ],
            'validators' => [
                [
                    'name' => \Laminas\Validator\NotEmpty::class,
                ],
                [
                    'name' =>\Laminas\Validator\Digits::class,
                ],
                [
                    'name' => \LeadersLinked\Validator\LessThanOtherField::class,
                    'options' => [
                        'token' => 'points',
                        'max' => 100,
                        'inclusive' => true,
                    ]
                ],
            ],
        ]);
        
        $this->add([
            'name' => 'status',
            'required' => true,
            'filters' => [
                ['name' => \Laminas\Filter\StripTags::class],
                ['name' => \Laminas\Filter\StringTrim::class],
            ],
            'validators' =>[
                [
                    'name' =>\Laminas\Validator\NotEmpty::class,
                ],
                
            ]
        ]);
        
        $this->add([
            'name' => 'max_time',
            'required' => true,
            'filters' => [
                ['name' => \Laminas\Filter\Digits::class],
            ],
            'validators' => [
                [
                    'name' => \Laminas\Validator\NotEmpty::class,
                ],
                [
                    'name' =>\Laminas\Validator\Digits::class,
                ],
                [
                    'name' => \Laminas\Validator\GreaterThan::class,
                    'options' => [
                        'min' => 1,
                        'inclusive' => true,
                    ]
                ],
                [
                    'name' => \Laminas\Validator\LessThan::class,
                    'options' => [
                        'max' => 90,
                        'inclusive' => true,
                    ]
                ],
            ],
        ]);
        
        /*
        $this->add([
            'name' => 'failed',
            'required' => true,
            'filters' => [
                ['name' => \Laminas\Filter\StringTrim::class],
                ['name' => \LeadersLinked\Filter\HtmlPurify::class],
                [
                    'name' => \Laminas\Filter\StripTags::class,
                    'options' => [
                        'allowTags'     => [
                            'h1','h2','h3','h4','h5','46','p','pre','strong','em','s','span','big','small','tt',
                            'code','kbd','samp','var','del','ins','cite','hr','table','thead','tr','th','td','img',
                            'a','style'
                        ],
                    ]
                    
                ],
            ],
            'validators' => [
                [
                    'name' => \Laminas\Validator\NotEmpty::class,
                ],
            ],
        ]);
        */
       
        
    }
}