Example #1
0
 public function testFormValidationCache()
 {
     $form = new Form();
     $form->setName('user_registration');
     $element = (new Input())->setName('test')->setValue('first');
     $checkedItemsNum = 0;
     $element->addValidator(new CallBackValidator(function ($value) use(&$checkedItemsNum) {
         $checkedItemsNum++;
         return !empty($value);
     }));
     $form->setElement($element);
     # emulate form submit
     $form->handle(new FormData('post', [$form->getUid() => '1', 'test' => '123']));
     $this->assertTrue($form->isValid());
     $this->assertEquals(1, $checkedItemsNum);
     $this->assertTrue($form->isValid());
     $this->assertTrue($form->isValid());
     $this->assertEquals(1, $checkedItemsNum);
 }