Skip to content
Toggle navigation
P
Projects
G
Groups
S
Snippets
Help
Alba María Álvarez
/
front_recipes
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Pipelines
Wiki
Snippets
Settings
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit
a49880b9
authored
Aug 31, 2025
by
Alba María Álvarez
Browse files
Options
_('Browse Files')
Download
Email Patches
Plain Diff
perf(UserDetail): mejora en la validación en el formulario de cambio de contraseña
parent
d17cec22
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
13 additions
and
9 deletions
src/views/UserDetail.vue
src/views/UserDetail.vue
View file @
a49880b9
...
...
@@ -29,7 +29,6 @@
<div
class=
"col-12"
>
<p
class=
"mb-1 text-muted"
><strong>
Email
</strong></p>
<p
class=
"fw-bold"
>
{{
userStore
.
user
?.
email
}}
</p>
<!--
<input
v-else
type=
"email"
class=
"form-control"
v-model=
"editableUser.email"
>
-->
</div>
<div
class=
"col-12"
>
<p
class=
"mb-1 text-muted"
><strong>
Rol
</strong></p>
...
...
@@ -75,8 +74,10 @@
<button
type=
"button"
class=
"btn-close"
data-bs-dismiss=
"modal"
aria-label=
"Close"
@
click=
"resetPasswordVariables"
></button>
</div>
<div
class=
"modal-body"
>
<div
v-if=
"passwordError"
class=
"alert alert-danger"
role=
"alert"
>
{{
passwordError
}}
<div
v-if=
"passwordErrors.length > 0"
class=
"alert alert-danger"
role=
"alert"
>
<ul>
<li
v-for=
"msg in passwordErrors"
:key=
"msg"
>
{{
msg
}}
</li>
</ul>
</div>
<div
class=
"mb-3 position-relative"
>
...
...
@@ -136,7 +137,7 @@ const errorMsg = ref(null);
const
oldPassword
=
ref
(
''
);
const
newPassword
=
ref
(
''
);
const
confirmPassword
=
ref
(
''
);
const
passwordError
=
ref
(
''
);
const
passwordError
s
=
ref
([]
);
// Variables para la visibilidad de las contraseñas
const
oldPasswordVisible
=
ref
(
false
);
...
...
@@ -198,11 +199,11 @@ const cancelEdit = () => {
// Función para el cambio de contraseña
const
handlePasswordChange
=
async
()
=>
{
passwordError
.
value
=
''
;
passwordError
s
.
value
=
[]
;
// Si las contraseñas no coinciden
if
(
newPassword
.
value
!==
confirmPassword
.
value
)
{
passwordError
.
value
=
'Las contraseñas no coinciden.'
;
passwordError
s
.
value
=
[
'Las contraseñas no coinciden.'
]
;
return
;
}
...
...
@@ -219,9 +220,12 @@ const handlePasswordChange = async () => {
}
catch
(
error
)
{
// Manejo de errores específicos del backend
if
(
error
.
response
&&
error
.
response
.
status
==
409
)
{
passwordError
.
value
=
'La contraseña actual es incorrecta.'
;
passwordErrors
.
value
=
[
'La contraseña actual es incorrecta.'
];
}
else
if
(
error
.
response
&&
error
.
response
.
data
&&
error
.
response
.
data
.
errorMsg
)
{
// Divide la cadena de mensajes y la asigna al array
passwordErrors
.
value
=
error
.
response
.
data
.
errorMsg
.
split
(
'; '
);
}
else
{
passwordError
.
value
=
'Ocurrió un error al cambiar la contraseña. Por favor, inténtelo de nuevo.'
;
passwordError
s
.
value
=
[
'Ocurrió un error al cambiar la contraseña. Por favor, inténtelo de nuevo.'
]
;
}
}
...
...
@@ -247,7 +251,7 @@ const resetPasswordVariables = () => {
oldPassword
.
value
=
''
;
newPassword
.
value
=
''
;
confirmPassword
.
value
=
''
;
passwordError
.
value
=
''
;
passwordError
s
.
value
=
[]
;
oldPasswordVisible
.
value
=
false
;
newPasswordVisible
.
value
=
false
;
confirmPasswordVisible
.
value
=
false
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment