[Form] Form::isBound() and Form::isValid() work correctly now for read-only forms

This commit is contained in:
Bernhard Schussek 2011-05-19 01:24:28 +02:00
parent 829aa4dc0b
commit 13a964ae6d
2 changed files with 11 additions and 0 deletions

View File

@ -452,6 +452,8 @@ class Form implements \IteratorAggregate, FormInterface
public function bind($clientData)
{
if ($this->readOnly) {
$this->bound = true;
return $this;
}

View File

@ -159,6 +159,7 @@ class FormTest extends \PHPUnit_Framework_TestCase
$form->bind('new');
$this->assertEquals('initial', $form->getData());
$this->assertTrue($form->isBound());
}
public function testNeverRequiredIfParentNotRequired()
@ -297,6 +298,14 @@ class FormTest extends \PHPUnit_Framework_TestCase
$this->assertTrue($this->form->isValid());
}
public function testValidIfBoundAndReadOnly()
{
$form = $this->getBuilder()->setReadOnly(true)->getForm();
$form->bind('foobar');
$this->assertTrue($form->isValid());
}
public function testNotValidIfNotBound()
{
$this->assertFalse($this->form->isValid());