Exemple #1
0
 public function isValid($value)
 {
     $this->setValue($value);
     if (is_callable($this->_condition)) {
         $result = call_user_func($this->_condition);
     } else {
         $result = (bool) $this->_condition;
     }
     if ($result) {
         $valid = $this->_validator->isValid($value);
         return $valid;
     }
     return true;
 }
 /**
  * {@inheritdoc}
  */
 public function isValid($value, $data = [])
 {
     if (!is_array($value)) {
         $this->error(static::ERROR_NOT_ARRAY);
         return false;
     }
     foreach ($value as $element) {
         if (!$this->elementValidator->isValid($element, $data)) {
             $this->error(static::ERROR_NOT_ALL_VALID);
             return false;
         }
     }
     return true;
 }
    public function testCanDisableTranslator()
    {
        $loader = new TestAsset\ArrayTranslator();
        $loader->translations = array(
            '%value% was passed' => 'This is the translated message for %value%',
        );
        $translator = new Translator();
        $translator->getPluginManager()->setService('default', $loader);
        $translator->addTranslationFile('default', null);
        $this->validator->setTranslator($translator);

        $this->assertFalse($this->validator->isValid('bar'));
        $messages = $this->validator->getMessages();
        $this->assertTrue(array_key_exists('fooMessage', $messages));
        $this->assertContains('bar', $messages['fooMessage']);
        $this->assertContains('This is the translated message for ', $messages['fooMessage']);

        $this->validator->setTranslatorEnabled(false);
        $this->assertFalse($this->validator->isTranslatorEnabled());

        $this->assertFalse($this->validator->isValid('bar'));
        $messages = $this->validator->getMessages();
        $this->assertTrue(array_key_exists('fooMessage', $messages));
        $this->assertContains('bar', $messages['fooMessage']);
        $this->assertContains('bar was passed', $messages['fooMessage']);
    }
Exemple #4
0
 public function testIdenticalMessagesNotReturned()
 {
     $this->validator->setMessage('Default error message');
     $this->assertFalse($this->validator->isValid('invalid'));
     $messages = $this->validator->getMessages();
     $this->assertCount(1, $messages);
     $this->assertEquals('Default error message', reset($messages));
 }