ASP.NET MVC3和服务器端validation

假设用户已禁用javascript,因此客户端validation在MVC3中不起作用。

实现服务器端validation的最佳方法是什么,以便在用户尝试以不适当的方式处理数据时仍然显示validation消息?

谢谢!

编辑:

显然它正在发生,因为我使用EF生成的模型,他们在属性设置器中使用“StructuralObject.SetValidValue”方法。 这导致在MVCvalidation模型之前抛出exception。

我正试图找到一种方法来规避这一点……

那么,您应该始终使用客户端和服务器端validation。 如果使用validation属性标记模型,则服务器端和客户端validation都应该正常工作。

我相信你已经看到了这个: http : //bradwilson.typepad.com/blog/2010/10/mvc3-unobtrusive-validation.html

只需确保在服务器端validation的操作中检查一次模型状态,一切都会很好。

ScottGu在他的博客中建议使用Data Annotations。

PS链接是关于MVC2的, 这个似乎是最新的。

看看Scott Gu关于这个主题的博客。 他讲述了如何处理这个问题

ASP.NET MVC 2:模型validation

如果您使用数据注释进行validation,则不需要执行任何操作。 无论客户端是否已经这样做,服务器将始终validation数据。