【发布时间】:2018-03-26 18:58:56
【问题描述】:
我正在尝试在我的 MVC 5 Web 应用程序中创建一个自定义属性,以验证 DateTime 字段是否在当前日期的 30 到 50 天内。如果日期不在 30 到 50 天窗口之间,则会引发错误。我尝试使用this post 来构建我的属性,但我不确定我的代码哪里出错了。目前,此代码已构建,但当我输入无效日期时没有任何反应。
public class CustomDateAttribute : RangeAttribute
{
public CustomDateAttribute()
: base(typeof(DateTime),
DateTime.Now.AddDays(30).ToShortDateString(),
DateTime.Now.AddDays(50).ToShortDateString()
)
{ }
}
【问题讨论】:
-
你在
global.asax.cs注册了吗? -
我刚刚注册了,谢谢。我现在在运行代码时遇到了问题。无论日期是否在 30-50 天范围内,我都会不断收到错误消息“日期必须在 x 和 y 之间”。我尝试输入范围内的日期、最小/最大日期、范围外的日期,并且错误不会消失。但是,当我清除文本框时,错误会按预期消失。有什么想法吗?
-
我猜你的意思是你得到一个客户端错误 - 你需要重新配置
$.validator的日期范围(不知道你为什么接受这个答案 - 为什么要多写减少功能的代码) -
哇,我刚刚弄清楚如何使用您在我的另一篇文章中链接到的代码来修复您告诉我的客户端错误。是的,您的解决方案更有效(尽管我仍在思考我所做的事情)。谢谢。
标签: asp.net-mvc