Я настроил локализацию в своем проекте. У меня есть общие сообщения об ошибках проверки с заполнителями и именами полей, например эти.
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]
How do I insert email from messages.properties into field.NotBlank from messages.properties in the DTO class?
I mean directly inserting/embedding "{email}" into "{field.NotBlank}" in @NotBlank attribute.
Встраивание строк в локализованные сообщения об ошибках проверки. ⇐ JAVA
Программисты JAVA общаются здесь
-
Anonymous
1778184340
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]
How do I insert email from messages.properties into field.NotBlank from messages.properties in the DTO class?
I mean directly inserting/embedding "{email}" into "{field.NotBlank}" in @NotBlank attribute.
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия