我正在使用CakePHP 2.2.4。
我正在使用表单助手来创建表单。我需要一个没有name属性的表单输入。
这可以通过formhelper实现,还是应该使用HTML来创建此表单?
例如在HTML中:
<input type="text" maxlength="20" autocomplete="off" class="card-number stripe-sensitive required" />
基本上我能使用CakePHP中的formhelper来完成上述操作吗?
感谢。
答案 0 :(得分:10)
您可以否决$options
数组中的任何属性,这是input()
方法的第二个参数。从技术上讲,你可以做到:
echo $this->Form->input('Model.field', array(
'label' => false,
'div' => false,
'name' => false,
'maxlength' => 20,
'autocomplete' => 'off',
'class' => 'card-number stripe-sensitive'
));
但是请注意,如果您想在控制器/模型中对数据执行任何操作,则删除name
属性会使整个字段无效,因为$this->data
数组从名称中获取它的名称输入字段的属性。
答案 1 :(得分:1)
CakePHP需要name属性才能知道表单提交的内容。我不确定为什么你会希望那里没有名字属性。
如果您担心命名输入会将某些内容传递给保存方法,您可以在保存/验证之前始终使用控制器中的unset
将其从$ this-&gt; request-&gt;数据中删除。
否则,您可以手动将标记添加到视图中,但又不确定为什么需要未命名的输入元素。