gpt4 book ai didi

php - CakePHP:具有默认值的日期字段

转载 作者:行者123 更新时间:2023-12-02 05:23:58 27 4
gpt4 key购买 nike

我正在使用 CakePHP 2.1 并且有一个日期字段来获取用户的出生日期:

例如

echo $this->Form->input('Profile.dob', array('label' => 'Date of Birth'
, 'dateFormat' => 'DMY'
, 'empty' => array('DATE','MONTH','YEAR')
, 'minYear' => date('Y') - 110
, 'maxYear' => date('Y') - 0));

如您所见,我已尝试使用数组设置默认值,但它只会使它们都具有 DATE 的默认值。如何获取它以便每个下拉菜单都具有正确的值?

最佳答案

这有点 hack 并且非常丑陋,但是由于 empty 选项似乎不支持多个值,它可能是最简单的解决方案 - 除非您想重写整个 dateTime () 函数。不幸的是,str_replace 不允许限制替换的数量,这就是我们必须求助于 preg_replace 的原因。

$placeholder = '[RandomStringWhichDoesNotAppearInTheMarkup]';

$out = $this->Form->input('Profile.dob', array('label' => 'Date of Birth'
, 'dateFormat' => 'DMY'
, 'empty' => $placeholder
, 'minYear' => date('Y') - 110
, 'maxYear' => date('Y') - 0));

$escapedPlaceholder = preg_quote($placeholder, '/');
$out = preg_replace("/$escapedPlaceholder/", 'DATE', $out, 1);
$out = preg_replace("/$escapedPlaceholder/", 'MONTH', $out, 1);
$out = preg_replace("/$escapedPlaceholder/", 'YEAR', $out, 1);

echo $out;

关于php - CakePHP:具有默认值的日期字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11588022/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com