datetime - 字符串 '2019-04-01' 未被识别为有效的日期时间。或者如果尝试将其解析为 DateTime,则总是得到“假”
问题描述
在 Fluent Validation (.net core) 中将字符串转换为日期时间时出现异常
错误:System.FormatException:'String '2019-04-01' 未被识别为有效的 DateTime,或者如果尝试将其解析为 DateTime,则总是得到“假”。
请求有效载荷:
{
"opened": "2019-04-01"
}
流利的验证器规则:
RuleFor(x => x.Opened).Must(BeAValidDate).WithMessage("Invalid Opened date");
类功能:
public bool BeAValidDate(string value)
{
DateTime output;
bool bOutput;
//option 1
bOutput = DateTime.TryParse(value, out output);
//option 2
//bOutput = DateTime.TryParseExact(value, "yyyy-MM-dd", System.Globalization.CultureInfo.InvariantCulture, System.Globalization.DateTimeStyles.None, out output);
//option 3
//try
//{
// output = DateTime.Parse(value);
// bOutput = true;
//}
//catch {
// bOutput = false;
//}
return bOutput;
}
尝试了以上三个选项,但总是得到错误/异常。
奇怪的是,如果我传递静态值,那么它可以正常工作,例如,如果我传递变量而不是值,例如
string value = '2019-04-01';
提前致谢。
解决方案
谢谢大家的回复!我不确切知道实际问题是什么,但是当我在邮递员请求中手动输入日期时,它起作用了。
推荐阅读
- android - C/C++ 配置问题 native-lib | 调试 | x86
- c++ - 为什么在 c++ 中不考虑函数返回类型的重载?
- argo-workflows - Argo 工作流是否支持 HTTP 调用而不创建新 pod?
- python - python:将时区添加到时间变量 TUC 到 (UTC+2)
- video-streaming - 什么 HEVC 编解码器标签与 fMP4、hvc1 或 hev1 一起使用?
- apache - Apache 无法访问 Tomcat:AH00957、AH00959 和 AH00896
- python - 从具有多个值的字典中获取单个键的值的键
- java - 如何使用 split() 在 java 中将段落拆分为正确的句子?
- angular - 使用 oauth2 从 Discord API 获取信息
- angular - 角多分量收音机