在CakePHP的日期输入中,是否有相当于'minYear'/'maxYear'的月份?

时间:2013-04-04 19:23:57

标签: cakephp

我想限制本月和下个月的可用日期。

到目前为止,我知道我可以指定最小和最大年份,这是我需要的一部分。

$this_month = new DateTime('now');
$next_month = new DateTime('next month');

echo $this->Form->input('date', 
    array(
        'minYear'  => $this_month->format('Y'),
        'maxYear'  => $next_month->format('Y'),
    )
);

我是否有类似的方式指定我需要的月份?

1 个答案:

答案 0 :(得分:1)

解决这个问题的两种方法既不像你想的那么简单:

首先:

创建一个扩展FormHelper类的类,并创建自己的月份函数,为其添加此功能。

第二:

您可以传入一个月份名称数组,因此您只能生成希望最终用户选择并将其传递到月份函数的月份列表:

<?php echo $this->Form->month('months', null, array('monthNames' => array(1 => 'Jan', 2 => 'Feb', 3 => 'March'))); ?>

将在下拉列表中生成仅有三个月的月份选择器。