laravel - HTML 输入类型周的 Laravel date_format 验证失败
问题描述
我从请求中得到了这个数据:
{
"type": "custom",
"start_week": "2020-W19"
}
我的验证规则是:
return [
'type' => 'required|in:standard,custom',
'start_week' => 'required|date_format:Y-\WW',
];
这给了我这个结果:
"errors": {
"start_week": [
"The start week does not match the format Y-\\WW."
]
}
我之前使用这种格式来验证周类型输入,例如“2020-W19”。
我做错了什么,我该怎么办?
解决方案
我尝试过这个。你的权利。令人惊讶的是它不起作用。
但这里有一种方法可以处理它。通过直接使用闭包和Carbon
实例,我们可以拥有自己的自定义规则,它可以正常工作:
$request->validate([
'start_week' => [
'required',
function ($attribute, $value, $fail) {
if (!Carbon\Carbon::hasFormat($value, 'Y-\WW')) {
$fail('The '.$attribute.' is invalid.');
}
},
]
]);
更多信息:文档
推荐阅读
- javascript - 如何在 create-react-app 中使用 purgeCSS 删除未使用的 css 和 javascript
- python - 是否可以使用 gekko 进行投资组合优化?
- javascript - 替换内联函数中的所有重合
- windows - 尝试使用 npm 安装返回代码 EINVAL
- heroku - Heroku 为我的 API 提供服务器错误,但没有错误代码
- python - .py 到 pydrion 或 pydriod 上的 apk 任何方法都不起作用
- python - 我正在开发一个 Flask + ReactJs 项目,并且在我的 Flask api 中出现此错误:AttributeError: 'Employee' object has no attribute 'append'
- python - 如何编写一个将函数输出作为数据帧输入的函数
- javascript - 使用 vanilla javascript 制作滚动功能
- php - Laravel 8:delete() 不会从数据库中删除