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']); }
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)); }