如何解决datetime.tryparse 总是返回 false
我正在学习 asp.net 课程,我是 c# 新手
我创建了一个具有日期输入字段的表单,它总是返回 无效消息 以下是输入代码:
<div class="form-group">
@Html.LabelFor(m => m.Date)
@Html.TextBoxFor(m => m.Date,new { @class = "form-control",placeholder="eg 1 Jan 2015" })
@Html.ValidationMessageFor(m => m.Date)
</div>
这是我为该输入字段创建的模型属性:
[required]
[FutureDate]
public string Date { get; set; }
这是出现问题的futuredate数据注释的代码:
public class FutureDate : ValidationAttribute
{
public override bool IsValid(object value)
{
DateTime dateTime;
var isValid = DateTime.TryParseExact(Convert.ToString(value),"d MMM YYYY",CultureInfo.CurrentCulture,DateTimeStyles.None,out dateTime);
return (isValid && dateTime > DateTime.Now);
}
}
虽然我在调试时注意到 datetime 变量没有更新 使用输入字段值并返回 {01/01/0001 12:00:00}
解决方法
年份说明符是小写的。请参阅 docs 以供参考。
var isValid = DateTime.TryParseExact(Convert.ToString(value),"d MMM yyyy",CultureInfo.CurrentCulture,DateTimeStyles.None,out dateTime);
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。