CakePHP inputDefaults并按字段重写

时间:2013-07-03 09:50:15

标签: cakephp form-helpers

我在Cake中创建了一个大表单,并通过inputDefaults设置默认选项。但是,我希望更改单个字段的默认值。

在设置表单默认值时,我写了大概:

'inputDefaults' => array(
    'error' => array(
        'attributes' => array(
            'wrap' => 'span',
            'class' => 'invalidate column-7 offset-3')));

...结果是所有相似的字段都产生相同的错误消息。但是,当我尝试更改单个字段的默认值时,如下所示:

echo $this->Form->input('name', array(
    'error' => array(
        'attributes' => array(
            'wrap' => 'span',
            'class' => 'invalidate column-10'))));

它不起作用。字段name会产生错误,其类别为column-7offset-3,而我打算column-10

有人知道解决方案吗?

1 个答案:

答案 0 :(得分:0)

$ options ['inputDefaults']您可以使用inputDefaults键为input()声明一组默认选项,以自定义您的默认输入创建:

echo $this->Form->create('User', array(
    'inputDefaults' => array(
        'label' => false,
        'div' => false
    )
));

从该点开始创建的所有输入都将继承inputDefaults中声明的选项。您可以通过在input()调用中声明选项来覆盖defaultOptions:

echo $this->Form->input('password'); // No div, no label
// has a label element
echo $this->Form->input(
    'username',
    array('label' => 'Username')
);