【问题标题】:cakephp form helper bugcakephp 表单助手错误
【发布时间】:2012-09-14 19:35:26
【问题描述】:

我想我在 Cake 的 FormHelper 类中发现了一个错误,但也许我只是没有使用正确的函数,所以希望这里有人知道。以下是相关代码:

<?php
    echo $this->Form->input('first_name', array('value' =>'First Name', 'label' => false));
?>

如您所见,我只是输出一个默认值为 First Name 的输入文本字段。我遇到的问题是,如果用户未提供有效名称,则表单不会保留用户尝试提交的值,而是再次显示默认值(名字)。所以基本上,如果我要输入字段“hey123”然后单击提交,表单将在文本字段旁边显示适当的验证错误消息,但文本字段本身不会包含我之前输入的 hey123,它将再次显示名字文本。

是否可以让输入字段最初显示默认值,同时允许在发生验证错误时保留用户在表单中输入的任何内容?因此,在前面的示例中,它不会在错误验证页面上显示名字文本,而是显示导致问题的原始条目,hey123。

【问题讨论】:

    标签: php validation cakephp form-helpers


    【解决方案1】:

    用途:

    <?php
        echo $this->Form->input('first_name', array('default' =>'First Name', 'label' => false));
    ?>
    

    注意,使用default 而不是valueDefault 将设置一个“默认”值,而value 将明确设置该字段的值。

    【讨论】:

    • 通过使用'value' =&gt; 'whatever',您将覆盖 $this->data 中的所有内容。
    • 也可以考虑 array('placeholder' =&gt; 'Hey123'),但这还不是 100% 支持。
    • 谢谢!令人惊讶的是,如此细微的差异如何产生如此大的影响:)
    • 这是初学者常犯的错误。顺便说一句,我更喜欢从控制器设置默认值。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-14
    相关资源
    最近更新 更多