Tôi có một câu hỏi khái niệm rất ngây thơ ở đây để làm rõ. Trong ứng dụng của tôi Tôi hiện đang sử dụng JSR 303 Hibernate Validator để phê chuẩn mô hình miền với @NotBlank và @NotNull chú thích, như kiểm tra tên truy cập, mật khẩu vvSử dụng trình xác thực JSR-303 thay vì Trình xác thực Spring
public class Admin {
private Long id;
@NotBlank(message = "Username should not be null")
private String username;
@NotBlank(message = "Username should not be null")
private String password;
...
Nhưng đối với việc chứng thực logic miền như tên người dùng hiện, tôi 'vẫn đang sử dụng giao diện Validator Spring
@Component
public class AdminValidator implements Validator {
...
@Override
public void validate(Object target, Errors errors) {
Admin admin = (Admin) target;
if (usernameAlradyExist())){
errors.rejectValue("username", null, "This user already exist's in the system.");
}
}
Trong bộ điều khiển tôi đang sử dụng cả hai
@RequestMapping(value = "/register", method = RequestMethod.POST)
public String register(@Valid @ModelAttribute("admin") Admin admin, BindingResult bindingResult,) {
validator.validate(admin, bindingResult);
if (bindingResult.hasErrors()) {
return REGISTER_ADMIN.getViewName();
}
có thể chỉ sử dụng Hibernate Validator và không phải là một t tất cả sử dụng Spring Validator để xác nhận hợp lệ logic miền?
Cảm ơn, đó là những gì tôi đang tìm kiếm :-) – tintin
@tintin: Vui vì tôi có thể giúp :) – xyz