vue校验cron7子表达式
1、背景:
使用cron的UI组件生成表达式,同时也支持手填表达式,故需要对表达式进行有效的校验
2、组件:
- UI组件为:vcrontab,效果如下图所示:
- 校验组件为:cron-parser(^4.6.0)
校验方式使用form表单校验,自定义校验方式(解决方案中的截图为自定义的校验方法),并在元素校验规则中添加该校验方法,如下图所示:
3、问题及处理方案
该校验组件只支持六子校验,不包括年。故手动添加了年的校验如下:
// 检测字符串是否为cron表达式
export function validateCron(rule, value, callback){
if(!!value){
// 拆除多余的空格
value = value.split(" ").filter(el=>el).join(" ")
console.log('===' +value)
//