奏鸣曲日期范围
Sonata Date range
我有一个小问题,我正在使用 Sonata 进行一个小项目,但我想弄清楚如何自定义一个人可以选择日期的日期范围,例如从 2000 年 1 月 1 日到 2020 年 12 月 31 日。有人可以告诉我在 Sonata 文档中的什么地方可以找到它或告诉我如何去做吗?因为我有点看不起完全自定义日期的选择。
提前致谢
编辑:
在 symfony 文档中我发现了这个
'days' => range(1,31)
此处:http://symfony.com/doc/current/reference/forms/types/date.html
但我在奏鸣曲文档中找不到任何内容。而且不像在 Symfony 上那样工作:/
我假设你在奏鸣曲中使用 sonata_type_date_picker 字段。文档是 here。那么你的case可以这样实现:
->add('userDate', 'sonata_type_date_picker', [
'dp_min_date' => 'Jan 1, 2000', //todo: date format here depends on your setup. Basicly it's the same format, you see in text field after you selected data in datepicker.
'dp_max_date' => 'Dec 31, 2020',
]);
或者,您可以使用带 3 个下拉菜单的日期选择器 - 它是标准的 Symfony date 字段,与 SonataAdmin 配合良好:
->add('userDate', 'date', [
'years' => range(2000, 2020),
]);
我还建议添加具有相同规则的后端验证(在实体中):
/**
* @var \DateTime()
*
* @Assert\Range(
* min = "2000-01-01",
* max = "2020-12-31"
* )
*/
protected $userDate;
我有一个小问题,我正在使用 Sonata 进行一个小项目,但我想弄清楚如何自定义一个人可以选择日期的日期范围,例如从 2000 年 1 月 1 日到 2020 年 12 月 31 日。有人可以告诉我在 Sonata 文档中的什么地方可以找到它或告诉我如何去做吗?因为我有点看不起完全自定义日期的选择。
提前致谢
编辑:
在 symfony 文档中我发现了这个
'days' => range(1,31)
此处:http://symfony.com/doc/current/reference/forms/types/date.html
但我在奏鸣曲文档中找不到任何内容。而且不像在 Symfony 上那样工作:/
我假设你在奏鸣曲中使用 sonata_type_date_picker 字段。文档是 here。那么你的case可以这样实现:
->add('userDate', 'sonata_type_date_picker', [
'dp_min_date' => 'Jan 1, 2000', //todo: date format here depends on your setup. Basicly it's the same format, you see in text field after you selected data in datepicker.
'dp_max_date' => 'Dec 31, 2020',
]);
或者,您可以使用带 3 个下拉菜单的日期选择器 - 它是标准的 Symfony date 字段,与 SonataAdmin 配合良好:
->add('userDate', 'date', [
'years' => range(2000, 2020),
]);
我还建议添加具有相同规则的后端验证(在实体中):
/**
* @var \DateTime()
*
* @Assert\Range(
* min = "2000-01-01",
* max = "2020-12-31"
* )
*/
protected $userDate;