龙4ik
会员
- 已加入
- 2020年10月24日
- 留言内容
- 16
- 编程经验
- Beginner
你好大家!
其实这个问题是 题,但是现在我在ASP.Net MVC上遇到相同的问题
我有以下任务:编写验证属性,该属性检查是否正确将String格式解析为DateTimeOffset,如果不是,则应用程序应引发Exception。我试图从中获得解决方案 堆栈溢出,但是它不起作用,我也无法理解为什么。
MyCustomAttribute代码:
型号代码:
控制器代码:
我看到这是一个简单的问题,但是有人可以向我解释为什么它不起作用以及如何使其起作用吗?
感谢您的任何帮助!!!
其实这个问题是 题,但是现在我在ASP.Net MVC上遇到相同的问题
我有以下任务:编写验证属性,该属性检查是否正确将String格式解析为DateTimeOffset,如果不是,则应用程序应引发Exception。我试图从中获得解决方案 堆栈溢出,但是它不起作用,我也无法理解为什么。
MyCustomAttribute代码:
C#:
public class DateStringAttribute : ValidationAttribute
{
protected override ValidationResult IsValid(object value, ValidationContext validationContext)
{
string date = value.ToString();
var format = "ddd MMM dd yyyy HH:mm:ss 'GMT'zzzz";
IFormatProvider provider = CultureInfo.InvariantCulture.DateTimeFormat;
DateTimeOffset startDate;
if (!DateTimeOffset.TryParseExact(date, format, provider, DateTimeStyles.AllowWhiteSpaces, out startDate))
{
throw new Exception("Something went wrong");
}
return ValidationResult.Success;
}
}
型号代码:
C#:
public class EventModel
{
[DateString]
public string Date { get; set; }
}
控制器代码:
C#:
public class 首页Controller : Controller
{
private readonly ILogger<HomeController> _logger;
public 首页Controller(ILogger<HomeController> logger)
{
_logger = logger;
}
public IActionResult Index()
{
EventModel eventModel = new EventModel { Date = "2014年8月30日星期五00:00:00 GMT + 0300" };
return Content($"{eventModel.Date}");
}
public IActionResult Privacy()
{
return View();
}
[ResponseCache(Duration = 0, 地点 = ResponseCacheLocation.None, NoStore = true)]
public IActionResult Error()
{
return View(new ErrorViewModel { RequestId = Activity.Current?.Id ?? HttpContext.TraceIdentifier });
}
}
我看到这是一个简单的问题,但是有人可以向我解释为什么它不起作用以及如何使其起作用吗?
感谢您的任何帮助!!!