diff --git a/docs/rules/valid-v-show.md b/docs/rules/valid-v-show.md
index bcfb0c87b..710489946 100644
--- a/docs/rules/valid-v-show.md
+++ b/docs/rules/valid-v-show.md
@@ -20,6 +20,7 @@ This rule reports `v-show` directives in the following cases:
- The directive has that argument. E.g. `
`
- The directive has that modifier. E.g. ``
- The directive does not have that attribute value. E.g. ``
+- The directive is put on `` tag. E.g. ``
@@ -32,6 +33,7 @@ This rule reports `v-show` directives in the following cases:
+
```
diff --git a/lib/rules/valid-v-show.js b/lib/rules/valid-v-show.js
index d5378a63a..721904f4f 100644
--- a/lib/rules/valid-v-show.js
+++ b/lib/rules/valid-v-show.js
@@ -52,6 +52,13 @@ module.exports = {
message: "'v-show' directives require that attribute value."
})
}
+ if (node.parent.parent.name === 'template') {
+ context.report({
+ node,
+ loc: node.loc,
+ message: "'v-show' directives cannot be put on tags."
+ })
+ }
}
})
}
diff --git a/tests/lib/rules/valid-v-show.js b/tests/lib/rules/valid-v-show.js
index 4220e8749..6b1d62015 100644
--- a/tests/lib/rules/valid-v-show.js
+++ b/tests/lib/rules/valid-v-show.js
@@ -63,6 +63,16 @@ tester.run('valid-v-show', rule, {
filename: 'empty-value.vue',
code: '',
errors: ["'v-show' directives require that attribute value."]
+ },
+ {
+ filename: 'test.vue',
+ code: '',
+ errors: ["'v-show' directives cannot be put on tags."]
+ },
+ {
+ filename: 'test.vue',
+ code: '',
+ errors: ["'v-show' directives cannot be put on tags."]
}
]
})