.NET MVC 自定义日期验证器
明天我将解决为我正在工作的会议应用程序编写自定义日期验证类的问题,该类将验证给定的开始或结束日期是否 A)小于当前日期,或 B)开始日期更大晚于会议结束日期(反之亦然)。
我认为这可能是一个相当普遍的要求。谁能给我指出一篇可能帮助我解决这个问题的博客文章的方向?
我正在使用 .net 3.5,所以我无法使用 .NET 4 中内置的新模型验证器 api。我正在处理的项目是 MVC 2。
更新:我正在编写的类需要扩展 System.ComponentModel .DataAnnotations 命名空间。在 .NET 4 中,您可以实现一个 IValidateObject 接口,这使得此类事情变得绝对轻而易举,但遗憾的是我无法使用 .Net 4。我如何在 .Net 3.5 中做同样的事情?
I'll be tackling writing a custom date validation class tomorrow for a meeting app i'm working on at work that will validate if a given start or end date is A) less than the current date, or B) the start date is greater than the end date of the meeting (or vice versa).
I think this is probably a fairly common requirement. Can anyone point me in the direction of a blog post that might help me out in tackling this problem?
I'm using .net 3.5 so i can't use the new model validator api built into .NET 4. THe project i'm working on is MVC 2.
UPDATE: THe class i'm writing needs to extend the System.ComponentModel.DataAnnotations namespace. In .NET 4 there is a IValidateObject interface that you can implement, that makes this sort of thing an absolute doddle, but sadly i can't use .Net 4. How do i go about doing the same thing in .Net 3.5?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
在您的视图模型中:
在您的操作中,只需检查
ModelState.IsValid
即可。这就是你所追求的?and in your View Model:
In your action, just check that
ModelState.IsValid
. That what you're after?我知道这篇文章比较旧,但是我发现的这个解决方案要好得多。
如果对象是视图模型的一部分且具有前缀,则本文中接受的解决方案将不起作用。
即行
可以在这里找到更好的解决方案:
ASP .NET MVC 3 验证使用自定义 DataAnnotation 属性:
新
DateGreaterThan
属性:用法示例:
I know this post is older, but, this solution I found is much better.
The accepted solution in this post won't work if the object has a prefix when it is part of a viewmodel.
i.e. the lines
A better solution can be found here:
ASP .NET MVC 3 Validation using Custom DataAnnotation Attribute:
New
DateGreaterThan
attribute:Usage example:
我认为应该这样做:
I think this should do it: