Rev 17002 | AutorÃa | Comparar con el anterior | Ultima modificación | Ver Log |
<?php
declare(strict_types=1);
namespace LeadersLinked\Form\Job;
use Laminas\Db\Adapter\AdapterInterface;
use Laminas\InputFilter\InputFilter;
use LeadersLinked\Mapper\IndustryMapper;
use LeadersLinked\Mapper\CompanySizeMapper;
use LeadersLinked\Mapper\CurrencyMapper;
class JobSalaryFilter extends InputFilter
{
/**
*
* @param AdapterInterface $adapter
*/
public function __construct($adapter)
{
$this->add([
'name' => 'salary_visible',
'required' => false,
'filters' => [
['name' => \Laminas\Filter\StripTags::class],
['name' => \Laminas\Filter\StringTrim::class],
],
'validators' => [
[
'name' => \Laminas\Validator\StringLength::class,
'options' => [
'encoding' => 'UTF-8',
'max' => 2,
],
],
],
]);
$this->add([
'name' => 'salary_currency',
'required' => false,
'filters' => [
['name' => \Laminas\Filter\StripTags::class],
['name' => \Laminas\Filter\StringTrim::class],
],
'validators' => [
[
'name' => \Laminas\Validator\StringLength::class,
'options' => [
'encoding' => 'UTF-8',
'max' => 5,
],
],
[
'name' => \Laminas\Validator\Db\RecordExists::class,
'options' => [
'adapter' => $adapter,
'table' => CurrencyMapper::_TABLE,
'field' => 'currency'
],
]
],
]);
$this->add([
'name' => 'salary_min',
'required' => true,
'filters' => [
['name' => \LeadersLinked\Filter\Floatval::class],
],
'validators' => [
[
'name' => \LeadersLinked\Validator\NotEmptyConditional::class,
'options' => [
'token' => 'salary_visible',
'condition' => 'y',
]
]
],
]);
$this->add([
'name' => 'salary_max',
'required' => true,
'filters' => [
['name' => \LeadersLinked\Filter\Floatval::class],
],
'validators' => [
[
'name' => \LeadersLinked\Validator\NotEmptyConditional::class,
'options' => [
'token' => 'salary_visible',
'condition' => 'y',
]
],
[
'name' => \LeadersLinked\Validator\GreaterThanOtherField::class,
'options' => [
'token' => 'experience_min',
'label' => 'LABEL_MINIMUM',
'inclusive' => false,
]
]
],
]);
}
}