Встраивание строк в локализованные сообщения об ошибках проверки.JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Встраивание строк в локализованные сообщения об ошибках проверки.

Сообщение Anonymous »

Я настроил локализацию в своем проекте. У меня есть общие сообщения об ошибках проверки с заполнителями и именами полей, например эти.

Код: Выделить всё

src/main/resources/lang/messages.properties
:

Код: Выделить всё

field.NotBlank=Polje {field} je obavezno.

# ...

email=imejl adresa
Класс DTO, поля которого имеют аннотации для проверки.

Код: Выделить всё

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;
}
У меня плохо отформатированный метод контроллера, использующий объект DTO, потому что я не могу изменить отступ кода с помощью клавиши TAB на этом сайте (он переключается на следующее поле формы).

Код: Выделить всё

        @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]
Как вставить электронную почту из messages.properties в поле.NotBlank из messages.properties в классе DTO?
Я имею в виду прямую вставку/внедрение "{email}" в "{field.NotBlank}" в атрибуте @NotBlank.>
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»