Proyectos de Subversion LeadersLinked - Services

Rev

Rev 283 | | Comparar con el anterior | Ultima modificación | Ver Log |

Rev Autor Línea Nro. Línea
1 efrain 1
<?php
345 www 2
declare(strict_types = 1);
1 efrain 3
namespace LeadersLinked\Form\Users;
4
 
5
use Laminas\InputFilter\InputFilter;
6
use LeadersLinked\Mapper\UserMapper;
7
 
8
class AddFilter extends InputFilter
9
{
10
 
11
    public function __construct($adapter)
12
    {
13
        $this->add([
14
            'name' => 'first_name',
15
            'required' => true,
16
            'filters' => [
345 www 17
                [
18
                    'name' => \Laminas\Filter\StripTags::class
19
                ],
20
                [
21
                    'name' => \Laminas\Filter\StringTrim::class
22
                ]
1 efrain 23
            ],
24
            'validators' => [
25
                [
26
                    'name' => \Laminas\Validator\StringLength::class,
27
                    'options' => [
28
                        'encoding' => 'UTF-8',
345 www 29
                        'max' => 64
30
                    ]
1 efrain 31
                ],
32
                [
345 www 33
                    'name' => \Laminas\Validator\NotEmpty::class
34
                ]
35
            ]
1 efrain 36
        ]);
37
        $this->add([
38
            'name' => 'last_name',
39
            'required' => true,
40
            'filters' => [
345 www 41
                [
42
                    'name' => \Laminas\Filter\StripTags::class
43
                ],
44
                [
45
                    'name' => \Laminas\Filter\StringTrim::class
46
                ]
1 efrain 47
            ],
48
            'validators' => [
49
                [
50
                    'name' => \Laminas\Validator\StringLength::class,
51
                    'options' => [
52
                        'encoding' => 'UTF-8',
345 www 53
                        'max' => 64
54
                    ]
1 efrain 55
                ],
56
                [
345 www 57
                    'name' => \Laminas\Validator\NotEmpty::class
58
                ]
59
            ]
1 efrain 60
        ]);
61
 
62
        $this->add([
63
            'name' => 'email',
64
            'required' => true,
65
            'filters' => [
345 www 66
                [
67
                    'name' => \Laminas\Filter\StripTags::class
68
                ],
69
                [
70
                    'name' => \Laminas\Filter\StringTrim::class
71
                ]
1 efrain 72
            ],
73
            'validators' => [
74
                [
75
                    'name' => \Laminas\Validator\StringLength::class,
76
                    'options' => [
77
                        'encoding' => 'UTF-8',
345 www 78
                        'max' => 250
79
                    ]
1 efrain 80
                ],
81
                [
345 www 82
                    'name' => \Laminas\Validator\NotEmpty::class
1 efrain 83
                ],
84
                [
345 www 85
                    'name' => \Laminas\Validator\EmailAddress::class
1 efrain 86
                ],
87
                [
88
                    'name' => \Laminas\Validator\Db\NoRecordExists::class,
89
                    'options' => [
345 www 90
                        'table' => UserMapper::_TABLE,
1 efrain 91
                        'field' => 'email',
345 www 92
                        'adapter' => $adapter
93
                    ]
94
                ]
95
            ]
96
        ]);
1 efrain 97
 
98
        $this->add([
99
            'name' => 'password',
100
            'required' => true,
101
            'filters' => [
345 www 102
                [
103
                    'name' => \Laminas\Filter\StripTags::class
104
                ],
105
                [
106
                    'name' => \Laminas\Filter\StringTrim::class
107
                ]
1 efrain 108
            ],
345 www 109
            'validators' => [
1 efrain 110
                [
345 www 111
                    'name' => \Laminas\Validator\NotEmpty::class
1 efrain 112
                ],
113
                [
114
                    'name' => \Laminas\Validator\StringLength::class,
115
                    'options' => [
116
                        'encoding' => 'UTF-8',
117
                        'min' => 6,
283 www 118
                        'max' => 25
345 www 119
                    ]
1 efrain 120
                ],
121
                [
345 www 122
                    'name' => \LeadersLinked\Validator\PasswordStrengthCheck::class
123
                ]
1 efrain 124
            ]
125
        ]);
345 www 126
 
1 efrain 127
        $this->add([
128
            'name' => 'confirmation',
129
            'required' => true,
130
            'filters' => [
345 www 131
                [
132
                    'name' => \Laminas\Filter\StripTags::class
133
                ],
134
                [
135
                    'name' => \Laminas\Filter\StringTrim::class
136
                ]
1 efrain 137
            ],
345 www 138
            'validators' => [
1 efrain 139
                [
345 www 140
                    'name' => \Laminas\Validator\NotEmpty::class
1 efrain 141
                ],
142
                [
143
                    'name' => \Laminas\Validator\StringLength::class,
144
                    'options' => [
145
                        'encoding' => 'UTF-8',
146
                        'min' => 6,
283 www 147
                        'max' => 25
345 www 148
                    ]
1 efrain 149
                ],
150
                [
151
                    'name' => \Laminas\Validator\Identical::class,
152
                    'options' => [
153
                        'strict' => 'false',
345 www 154
                        'token' => 'password'
155
                    ]
1 efrain 156
                ]
157
            ]
158
        ]);
159
    }
160
}