diff --git a/src/pages/RegisterPage.vue b/src/pages/RegisterPage.vue
index 2c032b7..b9bec39 100644
--- a/src/pages/RegisterPage.vue
+++ b/src/pages/RegisterPage.vue
@@ -18,8 +18,9 @@
type="text"
label="username"
:rules="[
- (val) => val.length >= 3 || 'Mínimo 3 caracteres',
- (val) => comprobarUsername?.length == 0 || 'Ya existe',
+ (val) =>
+ (val != null && val.length >= 3) || 'Mínimo 3 caracteres',
+ (val) => comprobarUsername || 'Ya existe en la BD',
]"
/>
{
});
};
const comprobarUsername = computed(() => {
- return usuarios.value?.filter((user) => user.username == username.value);
+ let filtro = usuarios.value?.filter(
+ (user) => user.username.toLowerCase() == username.value.trim().toLowerCase()
+ );
+ if (filtro.length == 0) {
+ return true;
+ }
+ return false;
});
+
+const comprobarEmail = computed(() => {
+ const emailPattern =
+ /^(?=[a-zA-Z0-9@._%+-]{6,254}$)[a-zA-Z0-9._%+-]{1,64}@(?:[a-zA-Z0-9-]{1,63}\.){1,8}[a-zA-Z]{2,63}$/;
+ let filtro = usuarios.value?.filter(
+ (user) => user.email == email.value.trim()
+ );
+ if (emailPattern.test(email.value) && filtro.length == 0) {
+ return true;
+ }
+ return false;
+});
+
+const btnRegisterDisable = () => {
+ if (
+ username.value == null ||
+ username.value.length < 3 ||
+ !comprobarUsername.value ||
+ nombre.value == null ||
+ nombre.value.length < 3 ||
+ email.value == null ||
+ email.value.length < 7 ||
+ !comprobarEmail.value
+ ) {
+ return true;
+ }
+ return false;
+};