Skip to content

Commit 8957c3a

Browse files
author
Guillaume Chau
committedJun 16, 2018
feat(ui): validate new project folder name
1 parent 3a88152 commit 8957c3a

File tree

2 files changed

+16
-2
lines changed

2 files changed

+16
-2
lines changed
 

‎packages/@vue/cli-ui/locales/en.json

+2-1
Original file line numberDiff line numberDiff line change
@@ -193,7 +193,8 @@
193193
"placeholder": "my-app",
194194
"tooltip": "Change base folder",
195195
"action": "Select this folder",
196-
"folder-exists": "This folder already exists"
196+
"folder-exists": "This folder already exists",
197+
"folder-name-invalid": "Folder name invalid"
197198
},
198199
"manager": {
199200
"label": "Package manager",

‎packages/@vue/cli-ui/src/views/ProjectCreate.vue

+14-1
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,14 @@
5050
/>
5151
</div>
5252

53+
<div
54+
v-if="formData.folder && !folderNameValid"
55+
class="vue-ui-text danger banner"
56+
>
57+
<VueIcon icon="error" class="big"/>
58+
<span>{{ $t('views.project-create.tabs.details.form.folder.folder-name-invalid') }}</span>
59+
</div>
60+
5361
<ApolloQuery
5462
v-if="formData.folder"
5563
:query="require('../graphql/folderExists.gql')"
@@ -477,8 +485,13 @@ export default {
477485
},
478486
479487
computed: {
488+
folderNameValid () {
489+
const name = this.formData.folder
490+
return !name.match(/[/@\s+%:]/) && encodeURIComponent(name) === name
491+
},
492+
480493
detailsValid () {
481-
return !!this.formData.folder
494+
return !!this.formData.folder && this.folderNameValid
482495
},
483496
484497
presetValid () {

0 commit comments

Comments
 (0)
Please sign in to comment.