在后台管理类项目中,各式各样的表单满天飞。如果你跟我一样习惯使用input而非form表单的形式画页面,那么你一定会写出一堆的if...else去做校验。
为了减少组件代码,将表单input的校验逻辑统一抽离出来为一个class
(state为参数容器;run用来收集表单参数;get用于获取收集的参数对象;isExp判断是否传入了正则验证;validate则执行正则或为空校验)run方法
接收两个参数,一个是参数的键名,一个则是对应的值,并依次添加到state中保存
get方法
该方法就是简单的将state返回,以供接口传参
isExp方法
用户判断给定的键名中是否包含正则表达式
validate
针对传入的对象做校验,如果存在正则,则使用传入的政策进行校验;否则只校验是否为空;noPass将收集所有未通过验证的key
在组件中使用
--引入并实例化
--响应input变化并调用run收集
--定义需要验证的参数对象
--调用接口前进行校验
网友评论