【问题标题】:server side validation in asp.netasp.net 中的服务器端验证
【发布时间】:2013-04-23 20:05:51
【问题描述】:

在 asp.net 中,我们对文本框进行了验证,但这些验证是使用 javascript 的客户端。如果用户在浏览器中禁用 javascript 并访问我的网站,验证将不起作用。

有人有其他想法吗?

【问题讨论】:

  • 你的标题有正确的想法...验证输入服务器端。客户端验证只不过是一个 UI 助手,它不会阻止无效数据。只有服务器端验证可以做到这一点。根据经验,你永远不应该相信客户端发送给你的任何数据,当它们到达服务器时总是检查你的输入。
  • @Majid 顺便说一下 javajavascript 之间有区别

标签: javascript asp.net validation


【解决方案1】:

您是正确的,因为您不能仅依赖客户端验证。就我个人而言,我会将我的时间投入到一个万能的解决方案上。我真的很喜欢Data Annotations,因为它会执行服务器端验证以及自动生成客户端。非常可配置和实现,只需将属性添加到您的类。

【讨论】:

    【解决方案2】:

    这就是 Page.Validate 方法,更重要的是,Page.IsValid 属性的用武之地。

    你可以在服务器端做这样的事情

     if (Page.IsValid)
     {
       // your code
     }
    

    Validate 方法由 CausesValidation 属性设置为 true 的控件自动触发。

    Here 是对此的简要说明。

    【讨论】:

    • 您可以使用 VS 工具包中的验证控件。
    【解决方案3】:

    客户端验证可改善用户体验(他们会立即获得有关问题区域的反馈),但服务器端验证对于保持数据清洁而言真正重要。在大多数情况下,您通常需要同时进行这两种类型的验证。

    【讨论】:

      猜你喜欢
      • 2011-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-01-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-01-26
      • 2017-05-03
      相关资源
      最近更新 更多