Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/257.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何使用单文本小部件在Symfony DateType中设置日期范围_Php_Forms_Symfony_Date_Range - Fatal编程技术网

Php 如何使用单文本小部件在Symfony DateType中设置日期范围

Php 如何使用单文本小部件在Symfony DateType中设置日期范围,php,forms,symfony,date,range,Php,Forms,Symfony,Date,Range,我想用widget=>single_texttype创建一个日期输入,但我只希望用户能够选择/键入2000到2099之间的年份。使用widget=>choice这很好,但是使用single_text我可以写下我想要的数字,尽管设置了range属性。有没有快速的方法来完成这一点,或者我必须创建一些其他的验证?如果是,怎么做 我的代码: ... ['respiteDate', DateType::class, [ 'required' => false,

我想用
widget=>single_text
type创建一个日期输入,但我只希望用户能够选择/键入2000到2099之间的年份。使用
widget=>choice
这很好,但是使用
single_text
我可以写下我想要的数字,尽管设置了range属性。有没有快速的方法来完成这一点,或者我必须创建一些其他的验证?如果是,怎么做

我的代码:

... ['respiteDate', DateType::class, [
               'required' => false,
               'widget' => 'single_text',
               'years'  =>  range(2000,2099)
               ],
           ], ...

提前感谢。

您所拥有的是Chrome特定日期选择器的屏幕截图(如果没有弄错的话)。不同的浏览器以不同的方式执行此操作,当涉及到
()时,他们无法确定具体允许哪些年份(与
选择
变体相反)

根据,有一种方法可以指定
min
max
日期,您可能觉得这两种方法足够合适-您只需指定
min=“2000-01-01
max=“2099-12-31”

有趣的是,
DateType
似乎不支持
min
max
属性,所以一定要包括服务器端验证

希望这有助于