【发布时间】:2017-03-30 14:37:05
【问题描述】:
我需要帮助在 EditorFor 中格式化这样的日期,例如。 3/2017 等等。我尝试编写代码,但发现出了点问题。
示例:
public class ValidDate : ValidationAttribute
{
public override bool IsValid(object value)
{
DateTime dateTime;
var isValid = DateTime.TryParseExact(Convert.ToString(value),
"MM/yyyy",
CultureInfo.CurrentCulture,
DateTimeStyles.None,
out dateTime);
return isValid;
}
}
[ValidDate]
public DateTime Date { get; set; }
有效结果示例:
1/2017
2/2017
3/2017
4/2017
5/2017
6/2017
7/2017
8/2017
9/2017
10/2017
11/2017
12/2017
【问题讨论】:
-
您的属性是
DateTime,它至少需要日、月和年的值 - 这些值都不可能有效。 -
尝试使用那里给出的正则表达式:stackoverflow.com/questions/3944446/…。但是,您必须将
Date属性声明为字符串,并将验证模式与正则表达式进行比较。
标签: c# asp.net asp.net-mvc