我目前正在做一些有关验证的研究(例如用户表格)。
很明显,绝对必须在后端进行验证,以防止“恶意”或恶意输入等。
在前端进行验证会进一步提高用户友好性,因为通常更快,而且我们节省了服务器往返时间。
我的问题如下:是否仅在服务器端进行验证并返回本地化的错误消息,然后由前端显示,这是一种好习惯?
还是绝对不行,验证应该始终在双方上进行?
即使完成了后端和前端验证,并且由于意外缺少前端验证而导致后端发生故障,响应是否应该包含要在前端显示的本地化信息?还是只显示一般的“出了点问题”消息?
某种程度上,我对来自API的本地化错误消息有一种不好的感觉。
关于您的主要问题:
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?
如您所说,前端验证不仅有益于友善,而且友好。看一下邮政编码验证示例(它具有固定格式,因此很容易验证)。如果您未在前端进行验证,则可以将许多请求发送到服务器(一点点“超载”服务器)并获得响应。这需要时间。在前端,立即进行验证。另外,关于本地化:对于Web应用程序,例如在AngularJS中,有翻译模块(在Angular中有angular-translate)。
同时,在后端进行验证也是一种好习惯(没有人希望在数据库中保存不良数据或使软件崩溃)。
我有一个与两个人一起使用REST API的项目(我在AngularJS中做了一个前端,他们-在C#/。NET中是后端)。我要求他们提供有关验证的好消息,但不幸的是,我仅收到“错误请求”。对于我作为开发人员来说,这在开发过程中不好,因为我不知道该消息的含义(我不知道这是我的请求还是他们的错误的问题)。此外,我必须向用户显示消息:“表单问题”(不友好)-当然,我也有自己的验证。
简介:最好在双方进行验证,而且验证应该向用户详细告知问题(但不要太多)。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句