1 <?php
2
3 namespace Balance\InputFilter;
4
5 use Balance\Model\AccountType;
6 use Balance\Model\BooleanType;
7 use Zend\Filter;
8 use Zend\InputFilter\Input;
9 use Zend\InputFilter\InputFilter;
10 use Zend\Validator;
11
12 13 14
15 class Accounts extends InputFilter
16 {
17 18 19
20 public function init()
21 {
22
23 $input = new Input('id');
24 $input->getFilterChain()
25 ->attach(new Filter\ToInt());
26 $this->add($input);
27
28
29 $input = new Input('type');
30 $input->getValidatorChain()
31 ->attach(new Validator\InArray(array('haystack' => array_keys((new AccountType())->getDefinition()))));
32 $this->add($input);
33
34
35 $input = new Input('accumulate');
36 $input->getValidatorChain()
37 ->attach(new Validator\InArray(array('haystack' => array_keys((new BooleanType())->getDefinition()))));
38 $this->add($input);
39
40
41 $this->add(new Input('name'));
42
43
44 $this->add(new Input('description'));
45 }
46 }
47