news 2026/4/3 1:55:18

前后端校验,如何分工

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
前后端校验,如何分工

今天配合测试同学做了一些功能逻辑的验证工作,期间一度很火大,主要原因是前后端分工不明确,没有明确工作界限。比如,用户的输入校验,哪些是前端需要做的,哪些是后端需要做的。

首先,这是AI给出的前端开发负责的校验工作

1. ‌必填字段校验‌
确保用户输入了有效的数据,如检查字段是否为空或仅包含空格。
2. ‌数据格式校验‌
验证用户输入的数据是否符合预期格式,例如:
邮箱字段使用正则表达式验证格式。
日期字段检查是否符合指定格式。
3. ‌数字范围校验‌
对数值型字段(如年龄、金额)验证其值是否在指定范围内。
4. ‌字符串长度校验‌
确保字符串字段的长度在允许的范围内。
5. ‌表单验证‌
对整个表单进行验证,确保所有必填字段都填写正确且数据符合预期。
6. ‌用户友好的错误提示‌
当用户输入无效数据时,展示清晰且有意义的错误提示信息,帮助用户理解并纠正错误。
7. ‌HTTP 响应状态码校验‌
验证接口返回的 HTTP 状态码(如 200、404、500)。
8. ‌返回数据格式验证‌
确保接口返回的数据格式符合预期(如 JSON 格式)。
9. ‌必要数据字段检查‌
验证返回的数据中是否包含业务逻辑或展示所必需的字段。
10. ‌敏感信息处理‌
检查返回的数据中是否包含敏感信息(如密码、私钥),避免前端直接处理或存储。
11. ‌数据类型校验‌
确保返回字段的数据类型符合预期(如数字、字符串)。
12. ‌错误消息校验‌
验证接口返回的错误消息是否清晰且有助于调试。

后端开发负责的校验工作

1. ‌参数完整性校验‌
确保接口所需的参数都被正确传递,无缺失(如必填字段校验)。
2. ‌参数格式校验‌
验证参数格式是否符合预期(如日期格式、邮箱格式校验)。
3. ‌业务逻辑校验‌
检查参数是否符合业务规则(如库存是否足够、价格是否合理)。
4. ‌数据类型校验‌
确保参数数据类型正确(如数字、字符串校验)。
5. ‌返回结果校验‌
验证接口返回的数据结构和字段是否符合预期。
6. ‌安全性校验‌
防止恶意攻击(如防止SQL注入、XSS攻击)。
7. ‌唯一性校验‌
确保关键字段(如用户名、邮箱)的唯一性。
8. ‌数据范围校验‌
验证数值型字段是否在允许范围内(如年龄、金额校验)。
9. ‌错误消息校验‌
验证接口返回的错误消息是否清晰且有助于调试。
10. ‌数据库约束校验‌
通过数据库约束(如唯一性约束、外键约束)防止非法数据。

以上是AI给出的答案,但是实际开发工作中,前后端到底应该如何决定谁该做什么呢?比如配置参数时,有这样一种场景:

配置解析参数时,需要根据商品的名称、管理人名称、价格,确定该商品是否符合上架要求,但是要求用户在配置时不能出现相同的商品名称。但是实际往往是这样的:

用户先配置了这样的数据:

商品名称a、管理人名称aa、价格 aa1

然后配置了 (商品名称a,商品名称b)、管理人名称aa、价格aa1

那实际生成的配置信息应该是商品名称a,商品名称b、管理人名称aa、价格aa1,这里就需要去除重复信息商品名称a,像这种复杂信息 的校验,就应该是后端来完成。但是,如果只是简单的重复信息的校验,就应该由前端开发来完成。

这里,再顺便提一下,重复信息的去除逻辑。

现在,待入库的配置信息已经组装成list了,需要对list中的重复信息做处理,具体代码如下

for (DcFieldEntity entity : insertList){

String goodsName = entity.getGoodsName();

String[] splitGoodsNames = goodsName.split(",");

if (splitGoodsNames.length > 1) {

// 使用 LinkedHashSet 去除重复值并保持顺序

Set<String> uniqueFiledArray = new LinkedHashSet<>(Arrays.asList(splitGoodsNames));

String[] uniqueFiledsArray = uniqueFiledArray.toArray(new String[0]);

insertList.setGoodsName(String.join(",", uniqueFiledsArray));

}

}

以上,就是本次问题的解决方法,问题虽小,但是多想想总是好的。嘻嘻!!!

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/3/29 21:10:53

uniapp+vue小程序 汉服交易服装商城小程序66c45

文章目录汉服交易服装商城小程序概述核心功能模块技术实现与优化设计风格与特色主要技术与实现手段系统设计与实现的思路系统设计方法java类核心代码部分展示结论源码lw获取/同行可拿货,招校园代理 &#xff1a;文章底部获取博主联系方式&#xff01;汉服交易服装商城小程序概述…

作者头像 李华
网站建设 2026/3/28 7:41:22

uniapp+vue小程序安卓_基于Android的在线课堂作业活动报名系统ca62x

文章目录基于Android的在线课堂作业活动报名系统&#xff08;UniAppVue&#xff09;摘要主要技术与实现手段系统设计与实现的思路系统设计方法java类核心代码部分展示结论源码lw获取/同行可拿货,招校园代理 &#xff1a;文章底部获取博主联系方式&#xff01;基于Android的在线…

作者头像 李华
网站建设 2026/4/2 5:05:05

DM8数据库配置深度实践与国产化生态思考

目录 第一章&#xff1a;时代浪潮下的技术觉醒 1.1 从“可用”到“好用”&#xff1a;国产数据库的进化轨迹 1.2 DM8的战略定位与市场版图 1.3 为什么此刻必须掌握国产数据库技术 第二章&#xff1a;精工细作——DM8企业级部署实战 2.1 环境规划&#xff1a;架构设计的艺术…

作者头像 李华
网站建设 2026/3/16 4:51:34

如何使用jmeter进行压测

简介&#xff1a; 1.概述 一款工具&#xff0c;功能往往是很多的&#xff0c;细枝末节的地方也很多&#xff0c;实际的测试工作中&#xff0c;绝大多数场景会用到的也就是一些核心功能&#xff0c;根本不需要我们事无巨细的去掌握工具的所有功能。所以本文将用带价最小的方式讲…

作者头像 李华
网站建设 2026/4/3 5:25:00

微前端系列:路由分发与应用加载机制

上一篇 重点讲述了微前端的核心概念、价值&#xff08;「分而治之」&#xff09;和应用场景。同时&#xff0c;也提及了微前端架构需要具备的核心能力。 这篇文章&#xff0c;将深入微前端的核心能力&#xff0c;拆解「路由分发」与「应用加载」的全流程。 一、微前端核心架构…

作者头像 李华
网站建设 2026/3/30 22:42:36

TensorFlow自动微分提速技巧

&#x1f493; 博客主页&#xff1a;借口的CSDN主页 ⏩ 文章专栏&#xff1a;《热点资讯》 TensorFlow自动微分的性能优化&#xff1a;实战技巧与深度解析 目录 TensorFlow自动微分的性能优化&#xff1a;实战技巧与深度解析 引言&#xff1a;为什么自动微分提速是AI训练的隐形…

作者头像 李华