gpt4 book ai didi

javascript - 需要JavaScript的时候服务端验证失败不显示错误可以吗?

转载 作者:行者123 更新时间:2023-11-30 18:34:48 25 4
gpt4 key购买 nike

我们有一个绝对需要 JavaScript 才能运行的表单,并且验证是在客户端完成的。验证也在服务器端执行,但是当服务器端验证失败时让它显示错误将是一项极其繁重的工作。

既然用户没有机会没有 JavaScript,那么是否可以只因 HTTP 错误而失败?他们无法通过服务器端验证的唯一方法是,如果他们是恶意用户,或者不能使用 JavaScript,在这种情况下他们无论如何都不会使用该表单。

谢谢

最佳答案

我说这很好,除了某类错误。

一些验证错误不是恶意造成的,而是无法在实际处理表单时以外的任何其他时间检查和发现。这可能是因为需要保留但不能保留的稀缺资源(“此用户名已在使用中”),或者是由于某些服务器端可恢复错误(“上游信用卡处理器没有响应。请重试之后”)。对于这些类型的错误,您绝对应该将某种错误消息传达给用户。很难想象一种设计不可能将这些类型的错误发回。至少你可以这样做:

  1. 发送您的 HTTP 错误响应(4xx 或 5xx,具体取决于错误的性质)
  2. 在您的响应正文中,将错误消息封装在您的 javascript 可以轻松理解的某种数据结构中。 (JSON 或 XML,甚至 text/plain!记得设置 mime 类型。)
  3. 让 javascript 请求的错误处理程序将错误文本插入表单中的可见位置(例如,在顶部或提交按钮附近)。

然而,最重要的是进行服务器端验证,而不是信任客户端。你已经在这样做了,所以如果你想进一步做任何事情,那就是一个润色和尽可能最好的用户体验的问题。有时这需要付出不成比例的努力,这没关系。

关于javascript - 需要JavaScript的时候服务端验证失败不显示错误可以吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8556257/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com