我想分享输入验证,因为:
前端的javascript用户体验,即时告诉用户输入是否是后端的good/wrong
信任
在一个完整的javascript web app (前端: react,后端: nodejs)中共享输入验证的最好方法是什么?
我正在考虑的解决方案是创建一个验证器模块,将我所有的javascript验证器放在代码库的根目录下:
const validator = process.env.ENV === 'local' ? require('../../validator') : require('/validator')
有没有其他被广泛接受的方法来做到这一点(我猜这是一个非常常见的问题,但我没有发现类似的问题)?如果不是,我的方法正确吗?
发布于 2019-05-13 01:08:42
答案和实现中的要点:
export
关键字,而是使用module.exports = {}
,因为ES6 export
不能在nodejs中工作)validator
模块并在两个环境中测试时,你应该总是在前端和后端部署(我添加了一个在部署之前运行的脚本,并检查两个javascript之间的差异,这让我获得了很多时间。我现在还分享了我的应用程序中的其他函数式编程发布于 2019-03-07 23:27:44
使用验证作为模块是一种很好的做法,但您应该考虑如果由于某种原因,您必须/想要将后端技术更改为非Javascript的东西,比如node,会发生什么情况。
如果你要实现它-你将有一个客户端和服务器对这个模块的依赖,你将不得不维护这个模块的不同版本,或者在任何时候你有一个验证更改时部署客户端代码和服务器代码-这导致了一些复杂性,你也应该考虑到。
发布于 2019-03-07 23:08:07
通常,您会在前端进行简单的验证,在后端进行更复杂的验证
例如:验证电子邮件是否在前端使用正则表达式,发送一封简单的邮件以确认该电子邮件的存在
https://stackoverflow.com/questions/55046707
复制相似问题