浏览代码

Account for input named '0'.

ADmad 11 年之前
父节点
当前提交
e3275099a0
共有 2 个文件被更改,包括 6 次插入2 次删除
  1. 2 2
      src/View/Helper/FormHelper.php
  2. 4 0
      tests/TestCase/View/Helper/FormHelperTest.php

+ 2 - 2
src/View/Helper/FormHelper.php

@@ -617,7 +617,7 @@ class FormHelper extends Helper
      */
     protected function _secure($lock, $field, $value = null)
     {
-        if (empty($field)) {
+        if (empty($field) && $field !== '0') {
             return;
         }
 
@@ -2390,7 +2390,7 @@ class FormHelper extends Helper
      */
     protected function _secureFieldName($name)
     {
-        if (empty($name)) {
+        if (empty($name) && $name !== '0') {
             return [];
         }
 

+ 4 - 0
tests/TestCase/View/Helper/FormHelperTest.php

@@ -275,6 +275,10 @@ class FormHelperTest extends TestCase
         $result = $this->Form->widget('select', ['secure' => true, 'name' => '']);
         $this->assertEquals('<select name=""></select>', $result);
         $this->assertEquals([], $this->Form->fields);
+
+        $result = $this->Form->widget('select', ['secure' => true, 'name' => '0']);
+        $this->assertEquals('<select name="0"></select>', $result);
+        $this->assertEquals(['0'], $this->Form->fields);
     }
 
     /**