外部フォームの日付ピッカーで数日後からの表示にさせたい

2016年9月19日 at 6:11

いつもお世話になります。

外部フォームで日付ピッカーを入れることはできるのですが、
本日から数日後がフォームに表示されるようにするにはどうしたらいいでしょうか?
できれば、それより以前の日付を選択できないようにしたいのですが、
何か簡単な方法はありますでしょうか?

現在は
$dtt = Core::make('helper/form/date_time');
を上の方に書いて表示させたい部分に以下を書いています。
<?=$dtt->date('p_date', $dtt->translate('p_date'), true)?>

よろしくお願いします。


追記:
上記方法でピッカー表示させようとするとChrome以外エラーが出て機能していないようです。
Elementalに外部フォームを入れてみて確認してみました。
エラーは TypeError: $(...).datepicker is not a function となっています。

タグ:

Re: 外部フォームの日付ピッカーで数日後からの表示にさせたい

2018年9月19日 at 13:56
外部フォームでDatepickerが出ない件、私と同じ症状なのかどうかわからないのですが、下記を試してみてください。

テーマの、page_theme.php に下記を追記してみてください。


class PageTheme extends Theme
{
public function registerAssets()
{
$this->requireAsset('css', 'jquery/ui');
$this->requireAsset('javascript', 'jquery/ui');
}
}


数日後から表示というのはやったことがないのですが、コントローラーに独自のバリデートを追加して、設定した日数以降でないとエラーを出すようにならカスタマイズをしたことがあります。
jQuery UI をつかっているようなので、表示についてはそちらのほうから調べたら解決するかもしれません。
 

Re: 外部フォームの日付ピッカーで数日後からの表示にさせたい

2018年9月19日 at 14:19
jQuery UI 側ではオプションがあるので、フォーム部分をオーバーライドすればなんとかなるかも。取り急ぎ雑な回答ですが共有まで

http://jqueryui.com/datepicker/#min-max