From 57b42c26ddd38c22ff33bae1144821e000b52b0b Mon Sep 17 00:00:00 2001 From: Andy Fowler Date: Tue, 26 Jan 2010 12:08:48 -0500 Subject: [PATCH] Fixes ZF-8938: zero-named forms --- library/Zend/Form.php | 4 ++-- tests/Zend/Form/FormTest.php | 5 +++++ 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/library/Zend/Form.php b/library/Zend/Form.php index 1b89347..8cfea48 100644 --- a/library/Zend/Form.php +++ b/library/Zend/Form.php @@ -1449,7 +1449,7 @@ class Zend_Form implements Iterator, Countable, Zend_Validate_Interface { if ((null === $this->_elementsBelongTo) && $this->isArray()) { $name = $this->getName(); - if (!empty($name)) { + if (!empty($name) || ('0' === $name)) { return $name; } } @@ -1742,7 +1742,7 @@ class Zend_Form implements Iterator, Countable, Zend_Validate_Interface { if (null === $name) { $name = $group->getName(); - if (empty($name)) { + if (('0' !== $name) && empty($name)) { require_once 'Zend/Form/Exception.php'; throw new Zend_Form_Exception('Invalid display group added; requires name'); } diff --git a/tests/Zend/Form/FormTest.php b/tests/Zend/Form/FormTest.php index eee05ee..0e5fbaf 100644 --- a/tests/Zend/Form/FormTest.php +++ b/tests/Zend/Form/FormTest.php @@ -555,6 +555,11 @@ class Zend_Form_FormTest extends PHPUnit_Framework_TestCase } } + public function testZeroAsNameWorksWithElementsBelongTo() { + $this->form->setIsArray(true)->setName(0); + $this->assertEquals(0, $this->form->getElementsBelongTo()); + } + public function testSetNameNormalizesValueToContainOnlyValidVariableCharacters() { $this->form->setName('f%\o^&*)o\(%$b#@!.a}{;-,r'); -- 1.6.6