public function testValidatorGetUnknown() { $data = array('unknown' => 'xxx'); $validators = array('month' => 'digits'); $input = new Zend_Filter_Input(null, $validators, $data); $this->assertFalse($input->hasMissing(), 'Expected hasMissing() to return false'); $this->assertFalse($input->hasInvalid(), 'Expected hasInvalid() to return false'); $this->assertTrue($input->hasUnknown(), 'Expected hasUnknown() to retrun true'); $this->assertFalse($input->hasValid(), 'Expected hasValid() to return false'); $unknown = $input->getUnknown(); $this->assertType('array', $unknown); $this->assertThat($unknown, $this->arrayHasKey('unknown')); }
/** * Utility function for putting the submitted options into an array * * @param Zend_Filter_Input $input * @return array */ function _getOptions($input) { $options = array(); $dateFields = array('updated_at', 'occurs_at', 'deleted_at', 'created_at'); /** * We get the unknown $input variables because we * don't want to have to specify each one in the * $validators for this demo. */ $unknown = $input->getUnknown(); foreach ($unknown as $key => $value) { if ($value !== '' && stristr($key, '_operator') === false) { // if (stristr($key, '_operator') === false) { if (in_array($key, $dateFields)) { $operatorKey = $key . '_operator'; $options[$key . '.' . $unknown[$operatorKey]] = $value; } else { $options[$key] = $value; } } } return $options; }