ASP.NET MVC3和服务器端验证

时间:2011-07-26 15:49:27

标签: c# .net asp.net asp.net-mvc-3

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

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

谢谢!

编辑:

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

我正试图找到一种方法来规避这个......

4 个答案:

答案 0 :(得分:4)

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

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

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

答案 1 :(得分:2)

ScottGu在他的博客中建议使用数据注释。

P.S。链接是关于MVC2的,this one似乎更近。

答案 2 :(得分:2)

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

ASP.NET MVC 2: Model Validation

答案 3 :(得分:2)

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