使用 Symfony DateType 禁用未来日期
Disable a future date using the Symfony DateType
我使用的是 Symfony 5,我的表单有问题。
当我将 DateType
与 'widget' => 'single-text'
和 js-datepicker
一起使用时,如何禁用将来的日期?
请注意,我无权访问前端,一切都必须在后端完成。
这是我目前拥有的:
$builder->add('date', DateType::class, [
'widget' => 'single_text',
'attr' => [
'class' => 'js-datepicker'
]
]);
提前感谢您的回答!
如果您想使用 HTML5 验证,您可以使用 max
属性:
$builder->add('date', DateType::class, [
'widget' => 'single_text',
'attr' => [
'class' => 'js-datepicker',
'max' => date('Y-m-d')
]
]);
如果你想进行后端验证,你可以使用 Symfony Assert
你可以使用 LessThan
或 LessThanOrEqual
(如果你想包括今天的日期)
在您的实体中添加此导入:
use Symfony\Component\Validator\Constraints as Assert;
然后你可以使用 @Assert
:
/**
* @Assert\LessThan("today")
*/
private $date;
我使用的是 Symfony 5,我的表单有问题。
当我将 DateType
与 'widget' => 'single-text'
和 js-datepicker
一起使用时,如何禁用将来的日期?
请注意,我无权访问前端,一切都必须在后端完成。
这是我目前拥有的:
$builder->add('date', DateType::class, [
'widget' => 'single_text',
'attr' => [
'class' => 'js-datepicker'
]
]);
提前感谢您的回答!
如果您想使用 HTML5 验证,您可以使用 max
属性:
$builder->add('date', DateType::class, [
'widget' => 'single_text',
'attr' => [
'class' => 'js-datepicker',
'max' => date('Y-m-d')
]
]);
如果你想进行后端验证,你可以使用 Symfony Assert
你可以使用 LessThan
或 LessThanOrEqual
(如果你想包括今天的日期)
在您的实体中添加此导入:
use Symfony\Component\Validator\Constraints as Assert;
然后你可以使用 @Assert
:
/**
* @Assert\LessThan("today")
*/
private $date;