> js 数据验证(psv)
PSV
说到 js 数据验证,这可是前端绕不过去的坎。最常见的莫过于表单验证,简单的规则 h5 就可以解决掉,复杂的可能就要借助于 js 了。其实对于开发来说,更常见的情形是,多人开发团队中,自己写的接口是需要被其他开发者调用的,如何保证实参符合接口规则呢?对于 js 这种弱类型的语言。如果是远程协作,这个问题可能更明显。
市面上有很多 validator 工具都可以解决此问题。但是它们普遍的特点是大而全,因此很大。这也是我决定自己写 psv 这个 validator 工具的主要原因(我是一点点看着公司的项目从不到500k,变成600k、700k,现在已经接近900k,你们造么,压缩是会上瘾的,反正我是得了不极度压缩不痛快的病)。
在写这个工具之前,我们的数据验证其实是散落在项目的各个角落的,某一天,我意识到这样不行,这样代码逻辑混乱,复用率太低,而且验证不规范。擦,这怎么能行,装逼爱好者是不能接受这一状况的。
于是用了一个小时,大概过了一遍目前系统前后端的各种验证代码,便开始编写 psv 的测试,这是我第一次进行测试先行的模式,自这以后,我好像爱上了她。可是今天是周五,而且我很快就要赶高铁回家休假了,作为一个堕落的人,休假期间是不能工作的。那好吧,就在高铁上写吧,从北京到南京一共有四个多小时。事实上,这四个小时过后,整个 psv 就完成了,包括编写测试代码。坐我旁边的美女始终是一种这家伙是在修电脑么的眼神。
因为来源于实际项目,所以 psv 的出发点就是实用主义,并不是做一个大而全后期砍功能,而是慢慢加,只加需要的。psv 目前已经在公司内部项目开始普及,前端的表格,后端的路由、模块接口等都陆续出现了它的身影,同事、朋友也一直在提出对于 psv 的整改建议。我相信 psv 的前景还是很棒棒的,至少我自己写的一些 demo 中都使用了 psv。
决定把它开源出来的理由也很简单,因为没有比较就没有伤害,再加上一颗孜孜不倦装逼的心。
psv 目前管理在 github 上,具体的使用,大家去 **github **上看吧,一来省的我再写一遍,二来你们既然翻山越岭来到我的 github,就顺便给个 star 鼓励一下呗,如果你觉得我写的很差,请你也给颗星星,因为我自知能力不足,星星太多会羞愧难当,哈哈,不过翻不过这堵墙的小伙伴们可能有点麻烦哦。