JDC*_*JDC 4 api validation rest error-handling web-applications
我目前正在做一些有关验证的研究(例如用户表单)。
很明显,验证绝对必须在后端完成,以防止“恶意”或恶意输入等。
前端的验证还可以提高用户友好性,因为它通常更快,并且我们可以节省服务器往返时间。
我的问题如下:仅在服务器端进行验证并返回然后由前端显示的本地化错误消息是否是一种好的做法?
或者这是绝对不行的并且验证应该始终在双方进行?
即使完成了后端和前端验证,并且由于意外缺少前端验证而导致后端发生故障,响应是否应该包含要在前端显示的本地化信息?或者您会只显示一般性的“出了问题”消息吗?
不知怎的,我对来自 API 的本地化错误消息有一种不好的感觉。
小智 5
关于您的主要问题:
My question is the following: Is it good practice to do the validation e.g. only on the server-side and return localized error messages that are then shown by the front end?
正如您所说,前端验证有利于友好性,但不仅仅是如此。看一下邮政编码验证的例子(它有固定的格式,所以很容易验证)。如果您不在前端进行验证,您可能会向服务器发送许多请求(有点“超载”服务器)并获得响应。这需要时间。在前端,验证是立即进行的。此外,关于本地化:对于网络应用程序,例如在 AngularJS 中,有翻译模块(在 Angular 中有 Angular-translate)。
同时,后端验证也是一种很好的做法(没有人希望数据库中存在错误数据或使软件崩溃)。
我有一个与两个人一起使用 REST API 的项目(我用 AngularJS 做前端,他们用 C#/.NET 做后端)。我向他们询问有关验证的好消息,但不幸的是我只得到了“错误的请求”。对于我作为开发人员来说,在开发过程中这并不好,因为我不知道该消息的含义(我不知道这是我的请求的问题还是他们的错误)。此外,我必须向用户显示消息:“表单有问题”(这不友好)-当然,我也有自己的验证。
总结:最好双方都有验证,而且验证应该详细告知用户问题(但不要那么多)。
归档时间: |
|
查看次数: |
4780 次 |
最近记录: |