Ejemplo n.º 1
0
 public function getInputFilter()
 {
     if (is_null($this->filter)) {
         $trackingIdValidator = new StringLength(36);
         $regexValidator = new Regex('/^[a-zA-Z0-9_-]+$/');
         $trackingIdInput = new Input('trackingId');
         $trackingIdInput->allowEmpty();
         $trackingIdInput->setRequired(false);
         $trackingIdInput->getValidatorChain()->attach($trackingIdValidator)->attach($regexValidator);
         $inArrayValidator = new InArray();
         $inArrayValidator->setHaystack(array_keys($this->locations));
         $originInput = new Input('origin');
         $originInput->getValidatorChain()->attach($inArrayValidator);
         $notSameValidator = new Callback(array('callback' => function ($value, $context = null) {
             if ($context) {
                 return $value !== $context['origin'];
             }
             return true;
         }, 'messages' => array(Callback::INVALID_VALUE => 'Origin and Destination are the same')));
         $destinationInput = new Input('final_destination');
         $destinationInput->getValidatorChain()->attach($inArrayValidator)->attach($notSameValidator);
         $filter = new InputFilter();
         $filter->add($trackingIdInput)->add($originInput)->add($destinationInput);
         $this->filter = $filter;
     }
     return $this->filter;
 }
 public function __construct(array $categoria = array())
 {
     $this->categoria = $categoria;
     //Titulo
     $titulo = new Input('titulo');
     $titulo->setRequired(true)->getFilterChain()->attach(new StringTrim())->attach(new StripTags());
     $titulo->getValidatorChain()->attach(new NotEmpty());
     $this->add($titulo);
     //Descricao
     $descricao = new Input('descricao');
     $descricao->setRequired(false)->getFilterChain()->attach(new StringTrim())->attach(new StripTags());
     $this->add($descricao);
     //Texto
     $texto = new Input('texto');
     $texto->setRequired(true)->getFilterChain()->attach(new StringTrim())->attach(new StripTags());
     $texto->getValidatorChain()->attach(new NotEmpty());
     $this->add($texto);
     //ativo
     $ativo = new Input('ativo');
     $ativo->setRequired(true)->getFilterChain()->attach(new StringTrim())->attach(new StripTags());
     $this->add($ativo);
     $inArray = new InArray();
     $inArray->setOptions(array('haystack' => $this->haystack($this->categoria)));
     $categoria = new Input('category');
     $categoria->setRequired(true)->getFilterChain()->attach(new StringTrim())->attach(new StripTags());
     $categoria->getValidatorChain()->attach($inArray);
     $this->add($categoria);
 }
Ejemplo n.º 3
0
 public function __construct($name, array $data)
 {
     parent::__construct($name);
     $validator = new Validator\InArray(array('haystack' => $data));
     $validator->setMessages(array(Validator\InArray::NOT_IN_ARRAY => "Поле не может иметь заданное значение"));
     $this->getValidatorChain()->attach($validator);
 }
Ejemplo n.º 4
0
 public function testIfAssociativeArrayTransformed()
 {
     $validator = new InArray();
     $validator->setHaystack(array('foo' => 'bar', 'fuu' => 'buz'));
     $this->validator = $validator;
     $this->assertEquals(array('in_array' => array(0 => 'bar', 1 => 'buz')), $this->getRules());
 }
Ejemplo n.º 5
0
 public function __construct(array $pessoa = array())
 {
     $this->pessoa = $pessoa;
     $inArray = new InArray();
     $inArray->setOptions(array('haystack' => $this->haystack($this->pessoa)));
     $classific = new Input('pessoa_id');
     $classific->setRequired(true)->getFilterChain()->attach(new StripTags())->attach(new StringTrim());
     $classific->getValidatorChain()->attach($inArray);
     $this->add($classific);
 }
Ejemplo n.º 6
0
 /**
  * {@inheritdoc}
  */
 public function createServiceWithName(ServiceLocatorInterface $serviceLocator, $name, $requestedName)
 {
     if ($serviceLocator instanceof AbstractPluginManager) {
         $serviceLocator = $serviceLocator->getServiceLocator();
     }
     $globalConfig = $serviceLocator->has('Config') ? $serviceLocator->get('Config') : [];
     $contextconfig = $this->getContextConfig($serviceLocator);
     $validator = new InArray();
     $validator->setHaystack($globalConfig[$contextconfig[$requestedName]['name_key_array_config']]);
     // TODO add personal message error
     return $validator;
 }
Ejemplo n.º 7
0
 /**
  * Metodo para adicionar a validacao de foreign key
  *
  * @param array $arrParams
  * @return array
  */
 public function getHaystackValidator(array $arrParams = array())
 {
     $arrToHaystack = array();
     foreach ($arrParams as $value) {
         if ($value) {
             $arrToHaystack[] = $value['value'];
         }
     }
     $arrHaystack = new InArray();
     $arrHaystack->setOptions(['haystack' => $arrToHaystack]);
     return $arrHaystack;
 }
 public function __construct(array $nivel = array())
 {
     $this->nivel = $nivel;
     //Nome
     $nome = new Input('nome');
     $nome->setRequired(true)->getFilterChain()->attach(new StringTrim())->attach(new StripTags());
     $nome->getValidatorChain()->attach(new NotEmpty());
     $this->add($nome);
     //email
     $email = new Input('email');
     $email->setRequired(true)->getFilterChain()->attach(new StringTrim())->attach(new StripTags());
     $email->getValidatorChain()->attach(new NotEmpty());
     $this->add($email);
     //nivel
     $inArray = new InArray();
     $inArray->setOptions(array('haystack' => $this->haystack($this->nivel)));
     $nivel1 = new Input('nivel');
     $nivel1->setRequired(true)->getFilterChain()->attach(new StringTrim())->attach(new StripTags());
     $nivel1->getValidatorChain()->attach($inArray);
     $this->add($nivel1);
 }
Ejemplo n.º 9
0
 public function __construct()
 {
     $options = ['haystack' => self::LANGUAGES];
     parent::__construct($options);
 }
Ejemplo n.º 10
0
    public function testRecursiveStandalone()
    {
        $validator = new Validator\InArray(
            array(
                'firstDimension' => array('test', 0, 'A'),
                'secondDimension' => array('value', 2, 'a')
            )
        );
        $this->assertFalse($validator->isValid('A'));

        $validator->setRecursive(true);
        $this->assertTrue($validator->isValid('A'));
    }
Ejemplo n.º 11
0
 public function testEqualsMessageTemplates()
 {
     $this->assertAttributeEquals($this->validator->getOption('messageTemplates'), 'messageTemplates', $this->validator);
 }
Ejemplo n.º 12
0
 /**
  * @param array $haystack
  * @return InArray
  */
 public static function inArrayValidator(array $haystack)
 {
     $validator = new InArray(compact('haystack'));
     $validator->setMessage("Input tidak ada dalam pilihan.");
     return $validator;
 }
Ejemplo n.º 13
0
 /**
  * {@inheritdoc}
  */
 public function isValid($value)
 {
     $validator = new InArray($this->options);
     return $validator->isValid($value);
 }