javascript - 在没有更新面板的情况下使用 AJAX 进行 ASP.NET 验证

标签 javascript asp.net validation

我正在寻找一种使用自定义 ASP.NET 验证程序来验证输入的方法,无需使用 UpdatePanels,也无需完整的回发。

验证器做几件事 - 不仅仅是长度/正则表达式,还有一些其他非标准的东西。

我们的用户需要 Javascript,所以我不必担心关闭 javascript 的普通用户。

我看到了几个选项,但没有一个是理想的:

1) 接受并使用 UpdatePanels。我属于“UpdatePanels 是邪恶的”小组,所以我不想这样做。

2) 在不使用验证控件的情况下,通过 jQuery 或任何其他 AJAX 框架将值传递给 PageMethod 静态方法来手动验证字段。每次我需要使用验证器时,这都需要对客户端和服务器进行编码。

3) 使用 jQuery(或任何其他 javascript 框架)验证客户端验证,然后如果他们以某种方式获得验证,则具有用于完整回发的服务器代码验证控件。这将需要用 javascript 和 C# 编写所有验证规则。此时我不关心完全失败的回发,因为 javascript 验证会捕获真正的用户,他们并没有试图把我搞砸。

是否有其他方法可以使用真正的 CustomValidator 控件,使用部分回发,仅使用 C# 代码,在没有 UpdatePanels 和大量冗余 javascript 的情况下验证输入?

谢谢

最佳答案

我会混合使用 2 和 3。

无论...如何,都会存在第一服务器端验证

所以我会制作需要基于 javascript 的简单验证逻辑(数字、文本、字符串长度、特定格式的字符串等)而没有 ajax 回调的字段,然后使用回调到需要业务规则或其他更复杂验证的服务器发生,所以复杂的规则只被编码一次。

如果您必须在非常快速的响应(或无延迟...仅 js)或有效数据之间做出选择,我希望有效数据会获胜...因此希望将 2 和 3 一起使用会给出您的响应速度更快,但不会影响有效数据。

对通用处理程序等的 Ajax 回调应该比 UpdatePanel 快一点,因为传输的数据要少得多......

关于javascript - 在没有更新面板的情况下使用 AJAX 进行 ASP.NET 验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4445662/

相关文章:

扩展 html python Flask 中无法识别 JavaScript onload

asp.net - 将列添加到 AspNetUsers 表

javascript - 由于在 url 中附加参数, Controller 被调用两次

javascript - 使用 I/O 从 webpge 运行 UNIX 可执行文件

c# - FormsAuthentication 重定向到登录页面

c# - HTTP 请求未经客户端身份验证方案 'Negotiate' 授权。身份验证 header

windows - 我如何使用脚本检查视频中是否存在声音

javascript - 具有验证功能的 Angular2 模板驱动的子表单组件

wpf - 如何发送验证消息表单模型以在 MVVM 模式中查看?

javascript - 从动态呈现的模板中获取特定 id 的 HTML