Asp.net ModelState.ISValid的用途是什么?即使它正在客户端进行验证
我是ASP.NETMVC新手。在设计页面时,我使用数据注释作为验证。我注意到所有的验证都已经在客户端执行了,但我仍然不明白为什么还要在服务器端使用ModelState.IsValid。我用谷歌搜索了一下,但我无法理解。Asp.net ModelState.ISValid的用途是什么?即使它正在客户端进行验证,asp.net,asp.net-mvc-3,Asp.net,Asp.net Mvc 3,我是ASP.NETMVC新手。在设计页面时,我使用数据注释作为验证。我注意到所有的验证都已经在客户端执行了,但我仍然不明白为什么还要在服务器端使用ModelState.IsValid。我用谷歌搜索了一下,但我无法理解。 因此,是否有人会建议我何时使用ModelState.IsValid,因为它已经在客户端进行验证。因为坏人可以向web应用程序发送无效消息。客户端验证是可选的,服务器端是必须的。@TonyHopkinson哈哈。。符合事实的客户端验证可以被操纵,坏人可以侵入服务器。为了避免它,我们
因此,是否有人会建议我何时使用ModelState.IsValid,因为它已经在客户端进行验证。因为坏人可以向web应用程序发送无效消息。客户端验证是可选的,服务器端是必须的。@TonyHopkinson哈哈。。符合事实的客户端验证可以被操纵,坏人可以侵入服务器。为了避免它,我们还需要在服务器端进行检查。。。极好的回答…@shankar.parsanamoni我浏览了这个链接,但它与我的问题没有明确的联系。如果我禁用JavaScript,我就成功地绕过了您的验证。如果我手动或通过自己的表单发送post请求,我已成功绕过您的验证。我喜欢把客户端验证看作是一种用户体验特性,而服务器端验证则是一种安全特性。一个是可选的(客户端),只是为了提高应用程序的感知性能,另一个是必须的(服务器端),以确保数据有效。这不仅仅是禁用JS来绕过它,您还可以使用浏览器开发工具来绕过它,或者完全放弃浏览器,直接使用JMeter或其他数千种HTTP工具将数据发布回服务器。