【发布时间】:2016-03-11 15:30:23
【问题描述】:
我正在开发一个 asp.net mvc 5 应用程序,我正在尝试为 dd/MM/yyyy 格式设置验证,我一直在努力寻找一个适当的解决方案但没有成功,我希望它接受:
24/01/2016
但它显示验证消息为:
JoiningDate 字段必须是日期。
这是我尝试过的:
[DisplayFormat(DataFormatString = "{0:dd/MM/yyyy}", ApplyFormatInEditMode = true)]
public DateTime JoiningDate { get; set; }
另外,我希望它在用户端的任何地方都以 dd/MM/yyyy 格式显示日期,但这是我问题的第二部分,首先,它至少应该允许一个有效的日期输入。我被困在这个问题上,任何帮助都将深深感激,我已经搜索了所有内容,但我无法直截了当,在此先感谢 :)
【问题讨论】:
-
尝试使用数据类型:[DataType(DataType.Date)]
-
请创建一个MCVE。
-
假设您的服务器文化是接受
dd/MM/yyyy中的日期的文化,那么问题是jquery.validate验证MM/dd/yyyy格式的日期。您没有说明您是否使用日期选择器,但请参阅 this answer 了解一些选项 -
@StephenMuecke ,我试过
jquery.validate但没有成功,现在,它正在显示 jQuery 验证消息The value '24/01/2015' is not valid for Joining Date.,我已经为此苦苦挣扎了 2 天,我非常需要你: ( -
如果您使用客户端验证,那么您需要根据链接配置验证器(例如使用 jquery.globalize,js)。如果您之前没有使用客户端验证,则错误表明服务器上的文化不接受
dd/MM/yyyy格式的日期(所以更改它,或使用自定义ModelBinder)
标签: datetime asp.net-mvc-5 date-formatting