4

我正在使用 CakePHP 2.2.4。

我正在使用表单助手来创建表单。我需要一个没有名称属性的表单输入。

formhelper 可以做到这一点,还是我应该只使用 HTML 来创建这个表单?

例如在 HTML 中:

<input type="text" maxlength="20" autocomplete="off" class="card-number stripe-sensitive required" />

基本上我可以使用 CakePHP 中的 formhelper 来完成上述工作吗?

谢谢。

4

2 回答 2

11

您可以否决$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数组从输入字段的 name 属性中获取它的名称。

于 2013-01-14T17:41:00.653 回答
1

CakePHP 需要 name 属性才能知道表单提交的内容。我不确定我是否理解您为什么不希望有 name 属性。

如果您担心命名输入会将某些内容传递给保存方法,您可以始终unset在控制器中使用它在保存/验证之前将其从 $this->request->data 中删除。

否则,您可以手动将标记添加到视图中,但再次不确定为什么需要未命名的输入元素。

于 2013-01-14T17:37:44.450 回答