C# - 值 'dd/mm/yyyy' 对 Value 无效
Posted
技术标签:
【中文标题】C# - 值 \'dd/mm/yyyy\' 对 Value 无效【英文标题】:C# - The value 'dd/mm/yyyy' is not valid for ValueC# - 值 'dd/mm/yyyy' 对 Value 无效 【发布时间】:2018-01-24 02:31:00 【问题描述】:我想在我的应用程序中使用日期格式为dd/mm/yyyy
。
我有一个模型如下 -
public class PatientDetailModel
[Display(Name = "OPH_GOS1_SightTestDate", ResourceType = typeof(Ophthalmic))]
[DisplayFormat(DataFormatString = "0:dd/MM/yyyy", ApplyFormatInEditMode = true)]
public DateTime SightTestDate get; set;
并查看 -
@html.LabelFor(p => p.SightTestDate)
<div class="display-flex">
@Html.TextBoxFor(m => m.SightTestDate, new @class = "form-control datepicker", autocomplete = "off", placeholder = "dd/mm/yyyy", id = "txtSightTestDate" )
</div>
jQuery 代码 -
$("#txtSightTestDate").datepicker( format: 'dd/mm/yyyy', autoclose: true );
这以dd/mm/yyyy
的格式向我显示日期,但是当我提交页面时,它给了我一个错误 -
15/08/2017
的值对于 SIGHT TEST DATE 无效。
提交时好像是mm/dd/yyyy
格式。
【问题讨论】:
这是客户端错误(您需要重新配置$.validator
)还是服务器端错误(您的应用程序的文化也必须接受 dd/MM/yyyy
格式的日期,或者您需要自定义 ModelBinder )
它看起来不像是采用 mm/dd/yyyy 的格式,因为明确指出:15/08/2017 无效。如果它正在更改格式,则错误应该是 08/15/2017。
[DisplayFormat(DataFormatString = "0:dd/MM/yyyy", ApplyFormatInEditMode = true)] 删除它并重试即可
@omkar-patade 您使用的是哪个 .datepicker jquery API?
我认为这个答案可能适用于您的情况:***.com/a/16885042/2048391 诀窍是使用已克隆的隐藏日期元素。
【参考方案1】:
在 Global.asax 文件中应用带有 datetimeformat 的cultureInfo 对我有用。
【讨论】:
【参考方案2】:在模型定义字符串属性并在回发时从所述格式解析您的日期时,有一个解决方法。
或
调试您的客户端代码或使用不同的组合(如 yyyy/MM/dd)改组格式,如果它有效,那么您的 jquery 插件有解析问题。
【讨论】:
以上是关于C# - 值 'dd/mm/yyyy' 对 Value 无效的主要内容,如果未能解决你的问题,请参考以下文章
dd/mm/yyyy 格式的日期正则表达式,用于 javascript 验证
当我将 excel(dd/mm/yyyy) 中的日期格式导入 msaccess 时,它显示非日期值
如何在 libreoffice calc 中将日期格式从 MM/DD/YYYY 更改为 DD/MM/YYYY?
如何使用 PHPExcel 库读取 excel 一个单元格日期(DD/MM/YYYY)值并将日期格式转换为(M/D/YYYY)