AutorÃa | Ultima modificación | Ver Log |
<?php
declare(strict_types=1);
namespace LeadersLinked\Form\Users;
use Laminas\InputFilter\InputFilter;
use LeadersLinked\Mapper\UserMapper;
class AddFilter extends InputFilter
{
public function __construct($adapter)
{
$this->add([
'name' => 'first_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' => 64,
],
],
[
'name' => \Laminas\Validator\NotEmpty::class,
],
],
]);
$this->add([
'name' => 'last_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' => 64,
],
],
[
'name' => \Laminas\Validator\NotEmpty::class,
],
],
]);
$this->add([
'name' => 'email',
'required' => true,
'filters' => [
['name' => \Laminas\Filter\StripTags::class],
['name' => \Laminas\Filter\StringTrim::class],
],
'validators' => [
[
'name' => \Laminas\Validator\StringLength::class,
'options' => [
'encoding' => 'UTF-8',
'max' => 64,
],
],
[
'name' => \Laminas\Validator\NotEmpty::class,
],
[
'name' => \Laminas\Validator\EmailAddress::class,
],
[
'name' => \Laminas\Validator\Db\NoRecordExists::class,
'options' => [
'table' => UserMapper::_TABLE,
'field' => 'email',
'adapter' => $adapter,
],
],
],
]);
$this->add([
'name' => 'password',
'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',
'min' => 6,
'max' => 16
],
],
[
'name' => \LeadersLinked\Validator\PasswordStrengthCheck::class,
],
]
]);
$this->add([
'name' => 'confirmation',
'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',
'min' => 6,
'max' => 16
],
],
[
'name' => \Laminas\Validator\Identical::class,
'options' => [
'strict' => 'false',
'token' =>'password'
],
]
]
]);
}
}