Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- namespace Cadastro\Model;
- use Zend\InputFilter\InputFilter;
- use Zend\InputFilter\Factory;
- use Zend\Mvc\Service\InputFilterManagerFactory;
- use Zend\Validator\Explode;
- /**
- * Model feriado
- *
- * @author Alfredo Costa
- * @category Model
- * @package Cadastro/Model
- * @copyright 2014 P21 Sistemas
- * @version 1.0.0
- */
- class FeriadoModel extends \Application\Model\Model
- {
- const ENTITY = 'Cadastro\Entity\Feriado';
- /**
- *
- * @param \Cadastro\Entity\Feriado $data
- */
- public function save($data)
- {
- $this->getRepository()->save($data);
- }
- /**
- *
- * @return void
- */
- public function remove($feriado)
- {
- $entityManager = $this->getEntityManager();
- $entityManager->remove($feriado);
- $entityManager->flush();
- }
- /**
- */
- public function getInputFilter()
- {
- if (! $this->inputFilter) {
- $inputFilter = new InputFilter();
- $factory = new Factory();
- $inputFilter->add($factory->createInput(array(
- 'name' => 'nome',
- 'required' => true,
- 'filters' => array(
- array(
- 'name' => 'StripTags'
- ),
- array(
- 'name' => 'StringTrim'
- )
- ),
- 'validators' => array(
- array(
- 'name' => 'NotEmpty',
- 'options' => array(
- 'messages' => array(
- \Zend\Validator\NotEmpty::IS_EMPTY => 'O nome do feriado deve ser preenchido.'
- )
- )
- ),
- array(
- 'name' => 'StringLength',
- 'options' => array(
- 'encoding' => 'UTF-8',
- 'min' => 4,
- 'max' => 50,
- 'messages' => array(
- \Zend\Validator\StringLength::TOO_SHORT => 'O nome do feriado deve ter no mínimo 4 caractéres.',
- \Zend\Validator\StringLength::TOO_LONG => 'O nome do feriado deve ter no máximo 50 caractéres.'
- )
- )
- )
- )
- )));
- $inputFilter->add($factory->createInput(array(
- 'name' => 'dataInicial',
- 'required' => true,
- 'validators' => array(
- array(
- 'name' => 'NotEmpty',
- 'options' => array(
- 'messages' => array(
- \Zend\Validator\NotEmpty::IS_EMPTY => 'A data do feriado deve ser preenchida.'
- )
- )
- ),
- array(
- 'name' => 'callback',
- 'options' => array(
- 'messages' => array(
- \Zend\Validator\Callback::INVALID_CALLBACK => 'Data no formato inválido.'
- ),
- 'callback' => function ($value, $context = array())
- {
- $dataInicial = \DateTime::createFromFormat('d/m/Y', $value);
- return $dataInicial->format('d/m/Y');
- }
- )
- )
- )
- )));
- $inputFilter->add($factory->createInput(array(
- 'name' => 'dataFinal',
- 'required' => false,
- 'validators' => array(
- array(
- 'name' => 'callback',
- 'options' => array(
- 'messages' => array(
- \Zend\Validator\Callback::INVALID_VALUE => 'A data final do feriado deve ser maior que a data inicial.',
- \Zend\Validator\Callback::INVALID_CALLBACK => 'Data no formato inválido.'
- ),
- 'callback' => function ($value, $context = array())
- {
- if ($context['extendido']) {
- $dataFinal = \DateTime::createFromFormat('d/m/Y', $value);
- $dataInicial = \DateTime::createFromFormat('d/m/Y', $context['dataInicial']);
- return $dataFinal > $dataInicial;
- } else {
- return true;
- }
- }
- )
- )
- )
- )));
- $this->inputFilter = $inputFilter;
- }
- return $this->inputFilter;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment