假设用户已禁用javascript,因此客户端验证在MVC3中不起作用。
实现服务器端验证的最佳方法是什么,以便在用户尝试以不适当的方式处理数据时仍然显示验证消息?
谢谢!
编辑:
显然它正在发生,因为我正在使用EF生成的模型,并且他们在属性设置器中使用“StructuralObject.SetValidValue”方法。这导致在MVC验证模型之前抛出异常。
我正试图找到一种方法来规避这个......
答案 0 :(得分:4)
那么,您应该始终使用客户端和服务器端验证。如果使用验证属性标记模型,则服务器端和客户端验证都应该正常工作。
我相信你已经看到了这个:http://bradwilson.typepad.com/blog/2010/10/mvc3-unobtrusive-validation.html
确保在服务器端验证的操作中检查一次模型状态,一切都会很好。
答案 1 :(得分:2)
答案 2 :(得分:2)
看看Scott Gu关于这个主题的博客。他讲述了如何处理这个
答案 3 :(得分:2)
如果您使用Data Annotations进行验证,则无需执行任何操作。无论客户端是否已经这样做,服务器将始终验证数据。