c# - 在 ASP.NET 中禁用 JavaScript 时如何处理验证

标签 c# javascript asp.net validation webforms

我在我的网站中使用了一些典型的 ASP.NET 验证控件。现在我试图在我的浏览器中禁用 JavaScript 来测试我的应用程序,当然 Validation Controls 不再有效。我认为最好尝试使用此处建议的解决方案之一使它们工作,而不是重新投入轮子并为页面或我的对象构建验证层-我的想法对吗?-

您如何看待这些选项以及原因:

  1. 在单击按钮的事件中包含一个代码,用于检查页面是否有效,如果无效,则显式调用 Page.Validate(); 方法

  2. 检查是否启用了 JavaScript,如果未启用,我应该调用 Page.Validate();

如果你有更好的方法,请告诉我。

最佳答案

Javascript 表单验证纯粹是为了方便用户。这会阻止他们提交包含无效电话号码或其他内容的表单。

当收到任何请求时,所有输入实际上都应该在服务器上进行验证。这是理想的流程,您会发现没有启用 javascript 的浏览器没什么大不了的:

浏览器 -> javascript 验证(可选)-> 服务器验证(如果失败,返回错误的初始页面)

所以即使他们没有JS,页面还是提交了数据,那你就可以从服务器返回一个错误。这通常是一种较差的用户体验(整页重新加载,除非您重新填充表单,否则可能会重新输入输入),这就是为什么 JS 通常包含在验证方案中。

关于c# - 在 ASP.NET 中禁用 JavaScript 时如何处理验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5534336/

相关文章:

c# - Wpf(或 Windows 窗体)的 Dnx

c# - 使用和公共(public)对象之间的最佳方法?

c# - 如何在 Sublime Text 2 中检查 C#

javascript - 网页在 Firefox 上运行良好,但在 IE 上运行不佳

asp.net - 使用 Asp.Net MVC 和 Web Api 配置 Ninject

javascript - Angular ng-repeat orderBy 多个字段作为一个字段

javascript - 编写一个函数来检查参数是否是对象文字或函数或字符串值

c# - T4 模板生成的文件不包含在项目中

c# - 无法在无效的数据输入上自定义DataGridView中的DataError报表

c# lambda 表达式 if condition inside a where