Fix notice errors when creating fields named 0.

Fixes #3371
This commit is contained in:
mark_story 2012-11-14 21:27:12 -05:00
parent 7206254166
commit 58de6702bc
2 changed files with 19 additions and 2 deletions

View file

@ -2153,6 +2153,23 @@ class FormHelperTest extends CakeTestCase {
$this->assertTags($result, $expected);
}
/**
* Test that inputs with 0 can be created.
*
* @return void
*/
public function testInputZero() {
$this->Form->create('User');
$result = $this->Form->input('0');
$expected = array(
'div' => array('class' => 'input text'),
'label' => array('for' => 'User0'), '/label',
'input' => array('type' => 'text', 'name' => 'data[User][0]', 'id' => 'User0'),
'/div'
);
$this->assertTags($result, $expected);
}
/**
* test input() with checkbox creation
*

View file

@ -199,7 +199,7 @@ class FormHelper extends AppHelper {
$this->fieldset[$object->alias]['fields'][$alias] = array('type' => 'multiple');
}
}
if (empty($field)) {
if ($field === null || $field === false) {
return $this->fieldset[$model]['fields'];
} elseif (isset($this->fieldset[$model]['fields'][$field])) {
return $this->fieldset[$model]['fields'][$field];
@ -773,7 +773,7 @@ class FormHelper extends AppHelper {
* @link http://book.cakephp.org/2.0/en/core-libraries/helpers/form.html#FormHelper::label
*/
public function label($fieldName = null, $text = null, $options = array()) {
if (empty($fieldName)) {
if ($fieldName === null) {
$fieldName = implode('.', $this->entity());
}