Rev 283 | AutorÃa | Comparar con el anterior | Ultima modificación | Ver Log |
<?php
declare(strict_types = 1);
namespace LeadersLinked\Form\UserProfile;
use Laminas\Db\Adapter\AdapterInterface;
use Laminas\InputFilter\InputFilter;
use LeadersLinked\Mapper\DegreeMapper;
class EducationFilter extends InputFilter
{
/**
*
* @param AdapterInterface $adapter
*/
public function __construct($adapter)
{
$this->add([
'name' => 'from_year',
'required' => true,
'filters' => [
[
'name' => \LeadersLinked\Filter\Intval::class
]
],
'validators' => [
[
'name' => \Laminas\Validator\NotEmpty::class
]
]
]);
$this->add([
'name' => 'to_year',
'required' => true,
'filters' => [
[
'name' => \LeadersLinked\Filter\Intval::class
]
],
'validators' => [
[
'name' => \Laminas\Validator\NotEmpty::class
],
[
'name' => \LeadersLinked\Validator\GreaterThanOtherField::class,
'options' => [
'token' => 'from_year',
'label' => 'LABEL_MINIMUM',
'inclusive' => true
]
]
]
]);
$this->add([
'name' => 'grade_or_percentage',
'required' => true,
'filters' => [
[
'name' => \Laminas\Filter\StripTags::class
],
[
'name' => \Laminas\Filter\StringTrim::class
]
],
'validators' => [
[
'name' => \Laminas\Validator\NotEmpty::class
],
[
'name' => \Laminas\Validator\StringLength::class,
'options' => [
'encoding' => 'UTF-8',
'max' => 3
]
]
]
]);
$this->add([
'name' => 'field_of_study',
'required' => true,
'filters' => [
[
'name' => \Laminas\Filter\StripTags::class
],
[
'name' => \Laminas\Filter\StringTrim::class
]
],
'validators' => [
[
'name' => \Laminas\Validator\NotEmpty::class
],
[
'name' => \Laminas\Validator\StringLength::class,
'options' => [
'encoding' => 'UTF-8',
'max' => 128
]
]
]
]);
$this->add([
'name' => 'university',
'required' => true,
'filters' => [
[
'name' => \Laminas\Filter\StripTags::class
],
[
'name' => \Laminas\Filter\StringTrim::class
]
],
'validators' => [
[
'name' => \Laminas\Validator\NotEmpty::class
],
[
'name' => \Laminas\Validator\StringLength::class,
'options' => [
'encoding' => 'UTF-8',
'max' => 128
]
]
]
]);
$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' => 'description',
'required' => false,
'filters' => [
[
'name' => \Laminas\Filter\StringTrim::class
],
[
'name' => \LeadersLinked\Filter\HtmlPurify::class
],
[
'name' => \Laminas\Filter\StripTags::class,
'options' => [
'allowTags' => [
'h1',
'h2',
'h3',
'h4',
'h5',
'h6',
'p',
'strong',
'em',
's',
'span',
'big',
'small',
'tt',
'hr',
'table',
'thead',
'tr',
'th',
'td',
'img',
'a',
'style'
]
]
]
]
]);
$this->add([
'name' => 'degree_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,
'field' => 'uuid',
'table' => DegreeMapper::_TABLE
]
]
]
]);
$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' => '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
]
]
]);
}
}