我有一个小问题,我正在使用奏鸣曲在一个小项目上工作,但我试图弄清楚如何自定义一个人可以选择日期的日期范围,从1月1日起示例2000年至2020年12月31日。因为我有一点看,我没有什么可以完全自定义日期的选择。
预先感谢
编辑:
在Symfony文档中,我发现了这个
'days' => range(1,31)
在这里:http://symfony.com/doc/current/referent/formers/types/date.html
,但我在奏鸣曲文档中找不到任何东西。并且不像在symfony上工作:/
我假设您在索纳塔中使用 sonata_type_date_picker 字段。文档在这里。然后您的案件可以这样实施:
->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()
*
* @AssertRange(
* min = "2000-01-01",
* max = "2020-12-31"
* )
*/
protected $userDate;