【问题标题】:Is checking Page.IsValid required for server-side validation in asp.net webforms在 asp.net webforms 中检查服务器端验证所需的 Page.IsValid
【发布时间】:2015-08-28 15:47:18
【问题描述】:

我的页面上有几个 asp 验证控件。我的页面上有一个 asp.net 按钮,可以保存页面上的所有内容。

在按钮的 OnClick 服务器端事件中,我是否应该始终将其包装在(如果 Page.IsValid)语句中?

看来验证仍然有效?还是只有客户端验证有效?

【问题讨论】:

  • 你能展示一些代码吗?为什么不调用特定验证器的 IsValid 方法而不是通用的 Page.IsValid?

标签: asp.net webforms


【解决方案1】:

默认情况下,验证将在Page_Load 事件之后由您的按钮触发。

另外,Page.IsValid 在调用 Page.Validate() 后也有意义。请注意,后者在几种情况下会自动发生。

您的问题可以得到更深入的回答,但我不会详细介绍,因为许多其他人已经涵盖了这个主题。您可以继续阅读this 其他 SO 问题。

【讨论】:

    【解决方案2】:

    Page.Validate 会自动调用,但在某些情况下,您最好在自己的代码中调用该方法。调用Page.Validate()方法触发服务端验证。

    然后您需要检查Page.IsValid 属性以了解是否存在任何验证错误。 然后由您决定是要分页继续处理还是只返回该页面。

    如果您检查属性并更改流程,则将执行事件处理代码。

    您可以通过在浏览器中禁用 JavaScript 然后提交表单来自行确定是否正在执行服务器端验证。这将绕过客户端验证。

    【讨论】:

      猜你喜欢
      • 2013-01-06
      • 1970-01-01
      • 2011-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-01-28
      • 2021-01-16
      • 1970-01-01
      相关资源
      最近更新 更多