3つの要素を取り除き、<select>
ユーザーが通常の<input type="text">
コントロールに日付を入力できるようにする標準的な方法は何ですか?
要件は次のとおりです。
- 日付形式はD/M/Yである必要があります
- 既存の日付を正しく印刷する必要があります
- 日付の検証を破ることはできません
私はこれに関する合理的なドキュメントを見つけることができません、私と同じくらい無知なユーザーによって書かれたフォーラムスレッドをハックするだけですxD
明確化:CakePHPタグに注意してください。私はすでに通常のPHPで日付を処理する方法を知っています。フレームワークのデフォルト機能を調整するために使用できる正確なCakePHPメカニズムについてのヘルプが必要です(実際には、オーバーライドではなく調整を意味します)。
これまでのところ、これをモデルに追加しました。
public $validate = array(
'fecha' => array(
array(
'rule' => 'notEmpty',
'required' => true,
),
array(
'rule' => array('date', 'dmy'),
),
)
);
...そして私はビュー内でこのようなフィールドを構成しました:
echo $this->Form->input(
'Foo.fecha',
array(
'type' => 'text',
)
);
...しかし、これでできることは、ユーザー入力を読み取って検証することだけです。前の日付が正しく印刷されず、新しい日付が正しく保存されません。