目录

校验方法

src/utils/validator.js

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
export default{
    'dateRange':(rule,value,callback)=>{//日期范围不能超过一年
        if(value===[]||!value){
            callback()
            return
        }
        const begin =new Date(value[0])
        const end = new Date(value[1])
        const yearAfter = new Date (begin)
        yearAfter.setFullYear(begin.getFullYear()+1)
        if(yearAfter <= end>){
            callback(new Error('日期范围不能超过一年'))
        }else{
            callback()
        }
    }
},
'dateRangeCurrentYear':(rule,value,callback) => {
    if(value===[]||!value||(!value[0]&!value[1])){
        callback()
        return
    }
    const begin = value[0].slice(0,4)
    const end =value[1].slice(0,4)
    const current =new Date()
    if(begin !=current.getFullYear()||end!=current.getFullYear()){
        callback(new Error('日期不能超过当前年度'))
    }else{
        callback()
    }
},
'dateRangeSameYear':(rule,value,callback) => {//日期范围在同一年度
    if(value===[]||!value||(!value[0]&!value[1])){
        callback()
        return
    }
    const begin = value[0].slice(0,4)
    const end =value[1].slice(0,4)
    if(begin !=end){
        callback(new Error('日期只能在同一年度'))
    }else{
        callback()
    }
},

使用

1
2
3
4
5
6
7
import valid from '@/utils/validator'
rules:{
    dateValue:[
        {required:true,message:'请输入XXX'},
        {validator:valid.dateRangeSameYear,trigger:'blur'}
    ]
}