0

このエラーが発生していますが、1 つのページでのみ、他のページでは正常に動作しています。なぜ ?

echo $this->Form->input('Card.month', array('type' => 'date','autocomplete' => 'off','label' => false,'dateFormat' => 'M ', '空' => false, 'セパレータ' => ' '));

echo $this->Form->input('Card.year', array('type' => 'date','autocomplete' => 'off','label' => false, 'dateFormat' => 'Y ', 'empty' => false, 'separator' => ' ', 'minYear' => date('Y'), 'maxYear' => date('Y', strtotime('+20 years'))) );

ここに画像の説明を入力

4

2 に答える 2

2

最近修正したこれらの日付配列キーのいずれかが送信されない場合、Cake とFormHelperが誤ってスカラー チェックを実行するという問題がありました 。

現在の 2.3 ヘッド (Master ブランチ!) をチェックアウトすると、おそらくこの通知が再び表示されることはありません。そうでない場合はお知らせください。

ただし、ここでは、おそらく dateFormat=>MY と組み合わせた input() を使用する必要があります。

PS: また、現在のマスター ブランチに問題があることを反証するためのテストとして、ほとんどのコードを追加しました

更新: 投稿されたフォーム データでエラーを再現できます。この重要な情報について言及するのを忘れているようです

UPDATE2: 現在のマスター ブランチで修正しました: https://github.com/cakephp/cakephp/commit/ee5e8c95dd7306665f6a69316618f3a1848ee088

$this->request->data説明するには:配列のコントローラーからいくつかの値を渡しています。ただし、これらの配列には、月や年の特定のキーが含まれていません。これらのキーの省略が機能していることをアサートするフォームヘルパーのチェックがなかったため、エラーが発生します。

于 2013-06-25T09:21:29.313 に答える