Ejemplo n.º 1
0
 public function testProvidesInputSpecificationThatIncludesValidatorsBasedOnAttributes()
 {
     $element = new NumberElement();
     $element->setAttributes(array('inclusive' => true, 'min' => 5, 'max' => 10, 'step' => 1));
     $inputSpec = $element->getInputSpecification();
     $this->assertArrayHasKey('validators', $inputSpec);
     $this->assertInternalType('array', $inputSpec['validators']);
     $expectedClasses = array('Zend\\I18n\\Validator\\Float', 'Zend\\Validator\\GreaterThan', 'Zend\\Validator\\LessThan', 'Zend\\Validator\\Step');
     foreach ($inputSpec['validators'] as $validator) {
         $class = get_class($validator);
         $this->assertTrue(in_array($class, $expectedClasses), $class);
         switch ($class) {
             case 'Zend\\Validator\\GreaterThan':
                 $this->assertTrue($validator->getInclusive());
                 $this->assertEquals(5, $validator->getMin());
                 break;
             case 'Zend\\Validator\\LessThan':
                 $this->assertTrue($validator->getInclusive());
                 $this->assertEquals(10, $validator->getMax());
                 break;
             case 'Zend\\Validator\\Step':
                 $this->assertEquals(1, $validator->getStep());
                 break;
             default:
                 break;
         }
     }
 }
Ejemplo n.º 2
0
 /**
  * Add Currency formatted number filter
  * @see Zend\Form\Element\Number
  * @return array
  */
 public function getInputSpecification()
 {
     $inputSpec = parent::getInputSpecification();
     //FILTHY HACK
     //CLEAN THIS UP
     $inputSpec['filters'][] = array('name' => 'Callback', 'options' => array('callback' => function ($value) {
         $value = str_replace(',', '', $value);
         return floatval($value);
     }));
     $inputSpec['filters'][] = array('name' => 'NumberFormat', 'style' => NumberFormatter::CURRENCY, 'type' => NumberFormatter::TYPE_CURRENCY);
     return $inputSpec;
 }
Ejemplo n.º 3
0
 /**
  * {@inheritDoc}
  */
 public function getInputSpecification()
 {
     $inputSpec = parent::getInputSpecification();
     $inputSpec['allow_empty'] = true;
     return $inputSpec;
 }
Ejemplo n.º 4
0
 public function testDefaultInclusiveTrueatValidatorWhenInclusiveIsNotSetOnAttributes()
 {
     $element = new NumberElement();
     $element->setAttributes(array('min' => 5));
     $inputSpec = $element->getInputSpecification();
     foreach ($inputSpec['validators'] as $validator) {
         if (get_class($validator) == 'Zend\\Validator\\GreaterThan') {
             $this->assertTrue($validator->getInclusive());
             break;
         }
     }
 }