コード例 #1
0
ファイル: InputTest.php プロジェクト: ThorstenSuckow/conjoon
 /**
  * @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']);
 }
コード例 #2
0
 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]);
 }
コード例 #3
0
ファイル: Error.php プロジェクト: ThorstenSuckow/conjoon
 /**
  * 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;
 }