【发布时间】:2021-03-02 09:34:28
【问题描述】:
我正在学习 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}
【问题讨论】:
-
而您尝试解析的日期正是
"eg 1 Jan 2015"? -
@Charlieface 日期是“2030 年 11 月 1 日”
标签: c# asp.net-mvc entity-framework data-annotations