具有服务器端验证的MVC2 DataAnnotations

时间:2010-04-07 15:37:12

标签: validation asp.net-mvc-2 data-annotations

如何在不使用MVC库的情况下验证包含DataAnnotations的实体?当你在Presentation层中时,使用Model.IsValid很好,但是当你想确保模型在Domain / Business层中有效时呢?我是否需要一个单独的验证框架,或者是否有一种我想念的简单方法?

感谢您的帮助,

标记

2 个答案:

答案 0 :(得分:1)

我想你的意思是Model.IsValid的ModelState.IsValid,对吗?好吧,DataAnnotions根本不依赖于MVC,所以你总是可以使用IValidatableObject接口。

或者使用Validator class可能更适合Validator.ValidateObject(object, ValidationContext)

答案 1 :(得分:-1)

我使用普通c#编写了验证逻辑,我的业务层包含这些验证,我在整个业务层使用try和catch块。表示层捕获这些自定义异常,以便在屏幕上向用户显示错误。我只在数据注释中保留了基本验证,例如[必需]主要用于ajax调用并通知用户在非可空字段中输入数据,这样我的业务逻辑保持在我的中间层,它保持一致,它只保留在我可以参考的一个地方。