前端业务校验时的参数一般如何获取?

2018-01-16 23:40:59 +08:00
 aaronlam
后端业务校验时校验参数很好获取,
如:校验用户名长度最长为 "255" 位时,"255" 可保存在数据库参数表里,校验时再取出。

那前端也要做相同校验时,大家一般是怎么处理这个 "255" 参数的?
1.写死在 JS 校验逻辑里?
2.校验时通过后端 API 获取?
3.还是有其他方法?

求最佳实践,感谢!
2184 次点击
所在节点    职场话题
8 条回复
oonnnoo
2018-01-17 00:40:16 +08:00
写死在前端吧,写好了一般都不会变了
WittBulter
2018-01-17 00:54:36 +08:00
比较小的服务就直接写死,稍大一点前端做一个配置系统,热更新配置。如果改的频繁就需要后端根据每个资源给一个资源的规则接口…
当然,这种东西改来改去基本都是产品在拍脑袋☹️
kyuuseiryuu
2018-01-17 00:59:01 +08:00
如果支持用户配置自定义校验规则就写数据库里交给后端做校验,如果不支持就写死前端做校验,后端可以写死也可以读配置去做校验,但是如果再去读配置去做校验的话会出现前后端校验结果不一致的情况,这对用户来说就很迷了。
aaronlam
2018-01-17 01:17:51 +08:00
@oonnnoo
感谢回复!
我举得用户名长度例子可能不太恰当,还不够偏业务。
实际上有些偏业务类的校验参数,可能会经常变动的就很蛋疼了,如果写死就需要两边都要修改。
aaronlam
2018-01-17 01:29:12 +08:00
@kyuuseiryuu
感谢回复!
就是需求经常变更的校验就仅后端校验,不经常或不会变更的前后端都写死对吗?
感觉如果两边写死的话仅后端去读配置感觉就有点奇怪 0.0
aaronlam
2018-01-17 01:32:21 +08:00
@WittBulter
感谢回复!
我目前的想法也是在每次进入”前端“( APP 或 Web Page )时就根据后端提供的 API 获取校验参数,
但是不知道有没有更好的最佳实践。
iyaozhen
2018-01-17 02:36:29 +08:00
后端回传正则
599316527
2018-01-17 17:05:27 +08:00
1. 制定一份表单校验规则的规范
2. 前后端各自实现基于这个规范的校验逻辑
3. 给每个表单写一份校验规则
4. 数据+校验规则 得到校验结果

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/423485

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX