Match registration rules in frontend

This commit is contained in:
2020-06-18 17:07:54 +02:00
parent 1611ca6ab4
commit a786cc848c
2 changed files with 13 additions and 22 deletions
+13 -20
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',