Код: Выделить всё
src/main/resources/lang/messages.propertiesКод: Выделить всё
field.NotBlank=Polje {field} je obavezno.
# ...
email=imejl adresa
Код: Выделить всё
src/main/java/com.example.realestate/dtos/auth/LoginDTOКод: Выделить всё
@Data
@ConfirmPassword
public class RegisterDTO {
@NotBlank(message = "{email.NotBlank}")
@Email(message = "{email.Email}")
private String email;
@NotBlank(message = "{password.NotBlank}")
@Password
private String password;
@NotBlank(message = "{password2.NotBlank}")
private String password2;
@NotBlank(message = "{phone.NotBlank}")
@Pattern(regexp = "^\\+381 \\d{2} \\d{6,7}$", message = "{phone.Pattern}")
private String phone;
@NotBlank(message = "{firstName.NotBlank}")
@Pattern(regexp = "^\\p{L}*$", message = "{firstName.Alpha}")
private String firstName;
@NotBlank(message = "{lastName.NotBlank}")
@Pattern(regexp = "^\\p{L}*$", message = "{lastName.Alpha}")
private String lastName;
@NotNull(message = "{birthDate.NotNull}")
@Adult
@DateTimeFormat(pattern = "yyyy-MM-dd")
private LocalDate birthDate;
}
Код: Выделить всё
@PostMapping("/registracija")
public String register(Model model, HttpServletRequest request, RedirectAttributes attributes, @ModelAttribute("dto") @Valid RegisterDTO dto, BindingResult result) {
// 2 Input validation & sanitization
if (result.hasErrors()) {
model.addAttribute("dto", dto);
// 5 Security logging
logger.error("Registration failed due to validation errors.");
return "auth/register";
}
if (userServ.existsByEmail(dto.getEmail())) {
String fail = "Korisnik sa ovom imejl adresom već postoji.";
attributes.addFlashAttribute("fail", fail);
// 5 Security logging
logger.error("Registration failed because an user with the provided email address already exists.");
return "redirect:/registracija";
}
if (userServ.existsByPhone(dto.getPhone())) {
String fail = "Korisnik sa ovim brojem telefona već postoji.";
attributes.addFlashAttribute("fail", fail);
// 5 Security logging
logger.error("Registration failed because an user with the provided phone number already exists.");
return "redirect:/registracija";
}
CustomUser user = userServ.create(dto);
try {
request.login(user.getEmail(), user.getPassword());
// 5 Security logging
logger.info("User {} registered successfully.", user);
return "redirect:/oglasi";
} catch (ServletException e) {
throw new RuntimeException(e);
}
} // [1]
Я имею в виду прямую вставку/внедрение "{email}" в "{field.NotBlank}" в атрибуте @NotBlank.>
Мобильная версия