CakeのFormHelperクラスにバグを見つけたと思いますが、おそらく正しい関数を使用していないので、ここの誰かが知っていることを願っています。関連するコードは次のとおりです。
<?php
echo $this->Form->input('first_name', array('value' =>'First Name', 'label' => false));
?>
ご覧のとおり、デフォルト値がFirstNameの入力テキストフィールドを出力しているだけです。私が経験している問題は、ユーザーが有効な名前を指定しない場合、フォームはユーザーが送信しようとした値を保持せず、代わりにデフォルト値(名)を再度表示することです。したがって、基本的に、フィールド「hey123」に入力して[送信]をクリックすると、フォームのテキストフィールドの横に適切な検証エラーメッセージが表示されますが、テキストフィールド自体には以前のhey123のエントリが含まれていません。名のテキストが再び表示されます。
入力フィールドに最初にデフォルト値を表示させながら、検証エラーが発生したときにユーザーがフォームに入力したものをすべて保持できるようにすることは可能ですか?したがって、前の例では、エラー検証ページに名のテキストを表示する代わりに、問題の原因となった元のエントリhey123が表示されます。