Saya menggunakan thymeleaf+sprinboot untuk aplikasi web dan saya bertanya-tanya bagaimana saya dapat mengontrol kesalahan validasi ketika saya menggunakan Value Objects (VO's).
Seperti yang Anda lihat, entitas memiliki batasan (unik) untuk satu atribut:
@Entity
public class Company {
@Id
@GeneratedValue
Integer id = 0;
@Column(unique = true)
String code;
String name;
String address;
...
}
Namun VO tidak dimaksudkan untuk memilikinya:
public class CompanyVO {
Integer id = 0;
String code;
String name;
String address;
...
}
karenanya, pengontrol tidak dapat memvalidasi jika nilainya berulang atau unik:
@RequestMapping(method = RequestMethod.POST)
public String set(@Valid CompanyVO companyVO, BindingResult result, Model model){
Company company = new Company();
if(result.hasErrors()){
return "company";
}
if(companyVO.getId() != 0){
company = companyRepository.findOne(companyVO.getId());
}
mapper.map(companyVO, company);
companyRepository.save(company);
return "redirect:/companies";
}
Bagaimana cara menampilkan kesalahan validasi pada tampilan saat saya menggunakan VO?