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); }
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); }
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()); }
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); }
/** * {@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; }
/** * 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); }
public function __construct() { $options = ['haystack' => self::LANGUAGES]; parent::__construct($options); }
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')); }
public function testEqualsMessageTemplates() { $this->assertAttributeEquals($this->validator->getOption('messageTemplates'), 'messageTemplates', $this->validator); }
/** * @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; }
/** * {@inheritdoc} */ public function isValid($value) { $validator = new InArray($this->options); return $validator->isValid($value); }