Symfony日期约束不允许缺少字段,即使该字段不是必需的



我在这里实例化一个约束集合,以验证我正在构建的API的请求主体。我的想法是只验证出生日期参数的格式,我不需要它是必需的。我遇到的问题是,当我没有在请求正文中传递出生日期时,它会抛出一个缺少字段的错误。基本上将其视为必填字段。我不知道为什么。

$constraint = new Collection([
'fields' => [
'birthdate' => [
new Date(message: 'Please use YYYY-MM-DD format!'),
],
],
'allowMissingFields' => false,
'allowExtraFields' => true,
]);

起初我并没有想到这一点,但在@jean-max评论之后,我认为在这种情况下应该让一个字段是可选的,因为默认配置是必需的。所以,是的,这就是答案:

$constraint = new Collection([
'fields' => [
'birthdate' => [
new Optional([
new Date(message: 'Please use YYYY-MM-DD format!'),
]),
],
],
'allowMissingFields' => false,
'allowExtraFields' => true,
]);

相关内容

  • 没有找到相关文章

最新更新