/** * @group ZF-3736 */ public function testTranslateNotEmptyMessagesByUsingRegistry() { require_once 'Zend/Translate/Adapter/Array.php'; $translator = new Zend_Translate_Adapter_Array(array('missingMessage' => 'Still missing'), 'en'); require_once 'Zend/Registry.php'; Zend_Registry::set('Zend_Translate', $translator); $validators = array('rule1' => array('presence' => 'required', 'fields' => array('field1', 'field2'), 'default' => array('field1default'))); $data = array(); $input = new Zend_Filter_Input(null, $validators, $data); $this->assertTrue($input->hasMissing(), 'Expected hasMissing() to return true'); $this->assertFalse($input->hasInvalid(), 'Expected hasInvalid() to return false'); $this->assertFalse($input->hasUnknown(), 'Expected hasUnknown() to return false'); $this->assertFalse($input->hasValid(), 'Expected hasValid() to return false'); $missing = $input->getMissing(); $this->assertType('array', $missing); $this->assertEquals(array('rule1'), array_keys($missing)); $this->assertEquals(array("Still missing"), $missing['rule1']); }
public function testOptionPresence() { $data = array('field1' => '123'); $validators = array('field1' => 'Digits', 'field2' => 'Digits'); $options = array(Zend_Filter_Input::PRESENCE => true); $input = new Zend_Filter_Input(null, $validators, $data, $options); $this->assertTrue($input->hasMissing(), 'Expected hasMissing() to return false'); $this->assertFalse($input->hasInvalid(), 'Expected hasInvalid() to return false'); $this->assertFalse($input->hasUnknown(), 'Expected hasUnknown() to return false'); $this->assertTrue($input->hasValid(), 'Expected hasValid() to return true'); $missing = $input->getMissing(); $this->assertType('array', $missing); $this->assertEquals(array('field2'), array_keys($missing)); $this->assertEquals("Field 'field2' is required by rule 'field2', but the field is missing", $missing['field2'][0]); }
/** * Creates a Conjoon_Error_Form based on the fields that where marked as * errorneous in the passed filter-instance. * * @param Zend_Filter_Input $filter * @param Zend_Filter_Exception $e * * @return Conjoon_Error_Form */ public static function fromFilter(Zend_Filter_Input $filter, Zend_Filter_Exception $e) { $error = self::fromException($e, 'Conjoon_Error_Form'); $fields = array(); if ($filter->hasMissing()) { foreach ($filter->getMissing() as $f => $mes) { $fields[$f] = array_values($mes); } } else { if ($filter->hasInvalid()) { foreach ($filter->getInvalid() as $f => $mes) { $fields[$f] = array_values($mes); } } } $error->setMessage("Error in user input. The following fields " . "where missing or contained invalid data: " . implode('; ', array_keys($fields))); $error->setLevel(self::LEVEL_WARNING); $error->setFields($fields); return $error; }