Skip to content
Toggle navigation
P
Projects
G
Groups
S
Snippets
Help
Alba María Álvarez
/
AppRecetas
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
a6ca56e4
authored
Aug 31, 2025
by
Alba María Álvarez
Browse files
Options
_('Browse Files')
Download
Email Patches
Plain Diff
feat(user/dto): añadida validación para contraseña segura en UserInputDto
parent
d23c882f
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
9 additions
and
2 deletions
src/main/java/com/example/apprecetas/user/infrastructure/controller/AuthController.java
src/main/java/com/example/apprecetas/user/infrastructure/controller/dto/input/UserInputDto.java
src/main/java/com/example/apprecetas/user/infrastructure/controller/AuthController.java
View file @
a6ca56e4
...
...
@@ -13,6 +13,7 @@ import com.example.apprecetas.user.infrastructure.mapper.UserMapper;
import
jakarta.validation.Valid
;
import
lombok.RequiredArgsConstructor
;
import
org.mapstruct.factory.Mappers
;
import
org.springframework.context.support.DefaultMessageSourceResolvable
;
import
org.springframework.http.HttpStatus
;
import
org.springframework.http.ResponseEntity
;
import
org.springframework.security.crypto.password.PasswordEncoder
;
...
...
@@ -73,7 +74,7 @@ public class AuthController {
BindingResult
result
)
{
if
(
result
.
hasErrors
())
{
String
errorMsg
=
result
.
getFieldErrors
().
stream
()
.
map
(
fieldError
->
fieldError
.
getField
()
+
": "
+
fieldError
.
getDefaultMessage
()
)
.
map
(
DefaultMessageSourceResolvable:
:
getDefaultMessage
)
.
collect
(
Collectors
.
joining
(
"; "
));
throw
new
UnprocessableEntityException
(
errorMsg
);
}
...
...
src/main/java/com/example/apprecetas/user/infrastructure/controller/dto/input/UserInputDto.java
View file @
a6ca56e4
...
...
@@ -2,6 +2,7 @@ package com.example.apprecetas.user.infrastructure.controller.dto.input;
import
jakarta.validation.constraints.Email
;
import
jakarta.validation.constraints.NotBlank
;
import
jakarta.validation.constraints.Pattern
;
import
jakarta.validation.constraints.Size
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
...
...
@@ -12,17 +13,22 @@ import lombok.NoArgsConstructor;
@NoArgsConstructor
public
class
UserInputDto
{
@NotBlank
(
message
=
"El nombre no debe estar vacío"
)
@Size
(
min
=
2
,
max
=
20
,
message
=
"El nombre debe tener entre 2 y 20 caracteres"
)
private
String
name
;
@Size
(
min
=
6
,
max
=
20
,
message
=
"Los apellidos deben tener entre 6 y 20 caracteres"
)
@NotBlank
(
message
=
"El campo apellidos no debe estar vacío"
)
@Size
(
min
=
6
,
max
=
30
,
message
=
"Los apellidos deben tener entre 6 y 20 caracteres"
)
private
String
surname
;
@Email
(
message
=
"El email debe tener formato de correo electrónico"
)
@NotBlank
(
message
=
"El email no debe estar vacío"
)
private
String
email
;
@NotBlank
(
message
=
"La contraseña no debe estar vacía"
)
@Size
(
min
=
8
,
message
=
"La contraseña debe tener al menos 8 caracteres"
)
@Pattern
(
regexp
=
"^(?=.*[a-z])(?=.*[A-Z])(?=.*\\d)(?=.*[@#$.%`&+=!*:;,?-])\\S+$"
,
message
=
"La contraseña debe contener al menos una letra minúscula, una mayúscula, un número y un carácter especial (sin espacios)"
)
private
String
password
;
}
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