@@ -24,7 +24,18 @@ module.exports = {
24
24
url : 'https://eslint.vuejs.org/rules/valid-v-else-if.html'
25
25
} ,
26
26
fixable : null ,
27
- schema : [ ]
27
+ schema : [ ] ,
28
+ messages : {
29
+ missingVIf :
30
+ "'v-else-if' directives require being preceded by the element which has a 'v-if' or 'v-else-if' directive." ,
31
+ withVIf :
32
+ "'v-else-if' and 'v-if' directives can't exist on the same element." ,
33
+ withVElse :
34
+ "'v-else-if' and 'v-else' directives can't exist on the same element." ,
35
+ unexpectedArgument : "'v-else-if' directives require no argument." ,
36
+ unexpectedModifier : "'v-else-if' directives require no modifier." ,
37
+ expectedValue : "'v-else-if' directives require that attribute value."
38
+ }
28
39
} ,
29
40
/** @param {RuleContext } context */
30
41
create ( context ) {
@@ -36,46 +47,41 @@ module.exports = {
36
47
if ( ! utils . prevElementHasIf ( element ) ) {
37
48
context . report ( {
38
49
node,
39
- loc : node . loc ,
40
- message :
41
- "'v-else-if' directives require being preceded by the element which has a 'v-if' or 'v-else-if' directive."
50
+ messageId : 'missingVIf'
42
51
} )
43
52
}
44
53
if ( utils . hasDirective ( element , 'if' ) ) {
45
54
context . report ( {
46
55
node,
47
- loc : node . loc ,
48
- message :
49
- "'v-else-if' and 'v-if' directives can't exist on the same element."
56
+ messageId : 'withVIf'
50
57
} )
51
58
}
52
59
if ( utils . hasDirective ( element , 'else' ) ) {
53
60
context . report ( {
54
61
node,
55
- loc : node . loc ,
56
- message :
57
- "'v-else-if' and 'v-else' directives can't exist on the same element."
62
+ messageId : 'withVElse'
58
63
} )
59
64
}
60
65
if ( node . key . argument ) {
61
66
context . report ( {
62
- node,
63
- loc : node . loc ,
64
- message : "'v-else-if' directives require no argument."
67
+ node : node . key . argument ,
68
+ messageId : 'unexpectedArgument'
65
69
} )
66
70
}
67
71
if ( node . key . modifiers . length > 0 ) {
68
72
context . report ( {
69
73
node,
70
- loc : node . loc ,
71
- message : "'v-else-if' directives require no modifier."
74
+ loc : {
75
+ start : node . key . modifiers [ 0 ] . loc . start ,
76
+ end : node . key . modifiers [ node . key . modifiers . length - 1 ] . loc . end
77
+ } ,
78
+ messageId : 'unexpectedModifier'
72
79
} )
73
80
}
74
81
if ( ! node . value || utils . isEmptyValueDirective ( node , context ) ) {
75
82
context . report ( {
76
83
node,
77
- loc : node . loc ,
78
- message : "'v-else-if' directives require that attribute value."
84
+ messageId : 'expectedValue'
79
85
} )
80
86
}
81
87
}
0 commit comments