AutorÃa | Ultima modificación | Ver Log |
<?php
declare(strict_types=1);
namespace LeadersLinked\Form\FastSurvey;
use Laminas\InputFilter\InputFilter;
class FastSurveyFilter extends InputFilter
{
public function __construct()
{
$this->add([
'name' => 'question',
'required' => true,
'filters' => [
['name' => \Laminas\Filter\StripTags::class],
['name' => \Laminas\Filter\StringTrim::class],
],
'validators' => [
[
'name' => \Laminas\Validator\StringLength::class,
'options' => [
'encoding' => 'UTF-8',
'max' => 1024,
],
],
[
'name' => \Laminas\Validator\NotEmpty::class,
],
],
]);
$this->add([
'name' => 'number_of_answers',
'required' => true,
'filters' => [
['name' => \LeadersLinked\Filter\Intval::class],
],
'validators' => [
[
'name' => \Laminas\Validator\GreaterThan::class,
'options' => [
'inclusive' => true,
'min' => 2,
],
],
[
'name' => \Laminas\Validator\LessThan::class,
'options' => [
'inclusive' => true,
'max' => 5,
],
],
[
'name' => \Laminas\Validator\NotEmpty::class,
],
],
]);
$this->add([
'name' => 'answer1',
'required' => true,
'filters' => [
['name' => \Laminas\Filter\StripTags::class],
['name' => \Laminas\Filter\StringTrim::class],
],
'validators' => [
[
'name' => \Laminas\Validator\StringLength::class,
'options' => [
'encoding' => 'UTF-8',
'max' => 100,
],
],
[
'name' => \Laminas\Validator\NotEmpty::class,
],
],
]);
$this->add([
'name' => 'answer2',
'required' => true,
'filters' => [
['name' => \Laminas\Filter\StripTags::class],
['name' => \Laminas\Filter\StringTrim::class],
],
'validators' => [
[
'name' => \Laminas\Validator\StringLength::class,
'options' => [
'encoding' => 'UTF-8',
'max' => 100,
],
],
[
'name' => \Laminas\Validator\NotEmpty::class,
],
],
]);
$this->add([
'name' => 'answer3',
'required' => true,
'filters' => [
['name' => \Laminas\Filter\StripTags::class],
['name' => \Laminas\Filter\StringTrim::class],
],
'validators' => [
[
'name' => \Laminas\Validator\StringLength::class,
'options' => [
'encoding' => 'UTF-8',
'max' => 100,
],
],
[
'name' => \LeadersLinked\Validator\NotEmptyConditionalGreaterThan::class,
'options' => [
'token' => 'number_of_answers',
'token_value' => 3,
'inclusive' => true,
],
],
],
]);
$this->add([
'name' => 'answer4',
'required' => true,
'filters' => [
['name' => \Laminas\Filter\StripTags::class],
['name' => \Laminas\Filter\StringTrim::class],
],
'validators' => [
[
'name' => \Laminas\Validator\StringLength::class,
'options' => [
'encoding' => 'UTF-8',
'max' => 100,
],
],
[
'name' => \LeadersLinked\Validator\NotEmptyConditionalGreaterThan::class,
'options' => [
'token' => 'number_of_answers',
'token_value' => 4,
'inclusive' => true,
],
],
],
]);
$this->add([
'name' => 'answer5',
'required' => true,
'filters' => [
['name' => \Laminas\Filter\StripTags::class],
['name' => \Laminas\Filter\StringTrim::class],
],
'validators' => [
[
'name' => \Laminas\Validator\StringLength::class,
'options' => [
'encoding' => 'UTF-8',
'max' => 100,
],
],
[
'name' => \LeadersLinked\Validator\NotEmptyConditionalGreaterThan::class,
'options' => [
'token' => 'number_of_answers',
'token_value' => 5,
'inclusive' => true,
],
],
],
]);
$this->add([
'name' => 'privacy',
'required' => true,
'filters' => [
['name' => \Laminas\Filter\StripTags::class],
['name' => \Laminas\Filter\StringTrim::class],
],
'validators' => [
[
'name' => \Laminas\Validator\NotEmpty::class,
],
],
]);
$this->add([
'name' => 'result_type',
'required' => true,
'filters' => [
['name' => \Laminas\Filter\StripTags::class],
['name' => \Laminas\Filter\StringTrim::class],
],
'validators' => [
[
'name' => \Laminas\Validator\NotEmpty::class,
],
],
]);
$this->add([
'name' => 'duration_days',
'required' => true,
'filters' => [
['name' => \LeadersLinked\Filter\Intval::Class],
],
'validators' => [
[
'name' => \Laminas\Validator\GreaterThan::class,
'options' => [
'inclusive' => true,
'min' => 1,
],
],
[
'name' => \Laminas\Validator\LessThan::class,
'options' => [
'inclusive' => true,
'max' => 29,
],
],
],
]);
$this->add([
'name' => 'duration_hours',
'required' => true,
'filters' => [
['name' => \LeadersLinked\Filter\Intval::Class],
],
'validators' => [
[
'name' => \Laminas\Validator\GreaterThan::class,
'options' => [
'inclusive' => true,
'min' => 0,
],
],
[
'name' => \Laminas\Validator\LessThan::class,
'options' => [
'inclusive' => true,
'max' => 23,
],
],
],
]);
$this->add([
'name' => 'duration_minutes',
'required' => true,
'filters' => [
['name' => \LeadersLinked\Filter\Intval::Class],
],
'validators' => [
[
'name' => \Laminas\Validator\GreaterThan::class,
'options' => [
'inclusive' => true,
'min' => 0,
],
],
[
'name' => \Laminas\Validator\LessThan::class,
'options' => [
'inclusive' => true,
'max' => 59,
],
],
],
]);
}
}