Match registration rules in frontend

This commit is contained in:
Hubert Van De Walle 2020-06-18 17:07:54 +02:00
parent 1611ca6ab4
commit a786cc848c
2 changed files with 13 additions and 22 deletions

View File

@ -19,7 +19,6 @@
+ Request (application/json)
+ Attributes (object)
+ username: babar (string)
+ email: `michel@seed-it.eu` (string)
+ password: tortue (string)
+ Response 200 (application/json)
@ -85,4 +84,3 @@ Receive the username and email from the currently logged in user
+ Attributes
+ user: (object)
+ username: babar (string)
+ email: `michel@seed-it.eu` (string)

View File

@ -10,14 +10,6 @@
:prepend-icon="mdiAccount"
></v-text-field>
<v-text-field
v-model="form.email"
:rules="emailRules"
label="Email"
required
:prepend-icon="mdiAt"
></v-text-field>
<v-text-field
v-model="form.password"
:rules="passwordRules"
@ -36,7 +28,6 @@
type="password"
></v-text-field>
</v-card-text>
<v-divider />
<v-card-actions>
<v-spacer />
<v-btn
@ -53,7 +44,7 @@
</template>
<script>
import { mdiLock, mdiAccount, mdiAt } from '@mdi/js'
import { mdiAccount, mdiAt, mdiLock } from '@mdi/js'
export default {
name: 'RegisterForm',
@ -64,20 +55,22 @@ export default {
valid: false,
form: {
username: '',
email: '',
password: '',
},
usernameRules: [
(v) => !!v || 'Name is required',
(v) => /^[a-zA-Z0-9]+$/.test(v) || 'Name must be alphanumeric',
],
emailRules: [
(v) => !!v || 'Email is required',
(v) => /.+@.+/.test(v) || 'E-mail must be valid',
(v) => !!v || 'Username is required',
(v) =>
v.length <= 50 ||
'Username must be shorter or equal to 50 characters',
(v) =>
v.length >= 3 ||
'Username must be longer or equal to 3 characters',
],
passwordRules: [
(v) => !!v || 'Password is required',
(v) => v.length >= 6 || 'Password must be longer than 6 characters',
(v) =>
v.length >= 6 ||
'Password must be longer or equal to 6 characters',
],
confirm: '',
confirmRules: [
@ -89,8 +82,8 @@ export default {
registerUser() {
this.$axios
.post('/user', this.form)
.then((_) => this.$root.$emit('register::success'))
.catch((_) =>
.then(() => this.$root.$emit('register::success'))
.catch(() =>
this.$root.$emit(
'toast',
'Please choose another username',