Я хочу использовать Spring Validation с аннотациями для проверки данных моей формы. Так у меня есть следующий объект, например:Проверка формы весны проверяет наличие вставки базы данных?
@Entity
@ComponentScan
public class Category {
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE)
private long id;
@NotEmpty
private String type;
...
}
Как вы можете видеть здесь, я использовал @NotEmpty
на type
String. Я хочу использовать это только для проверки моей формы. Он не должен проверяться на вставку базы данных.
Так что, когда я делаю:
@RequestMapping(value = "/myForm", method = RequestMethod.POST)
public String categoryPOST(HttpServletRequest request, Model model, @Valid Category category, BindingResult bindingResult) {
if (bindingResult.hasErrors()) {
return "form";
}
return "redirect:/results";
}
Он работает, как я хочу работать. Но когда я должен создать фиктивный объект:
Category category = new Category();
и я выполнить сэкономить на этом пустом объекте:
this.category_repository.save(category);
я получаю ошибку (только важная часть):
Caused by: javax.validation.ConstraintViolationException: Validation failed for classes [my.project.jpa.entity.Category] during persist time for groups [javax.validation.groups.Default, ]
List of constraint violations:[
ConstraintViolationImpl{interpolatedMessage='darf nicht leer sein', propertyPath=type, rootBeanClass=class my.project.jpa.entity.Category, messageTemplate='{org.hibernate.validator.constraints.NotEmpty.message}'}
]
И это не то, что я хочу. Я хочу использовать аннотацию для проверки формы, но я не хочу, чтобы проверка выполнялась в операциях с базой данных.
это как-то возможно?
Дополнительная информация
У меня был тот же самый результат, используя:
javax.validation.constraints.NotNull;
аннотацию.
BTW, '@ ComponentScan' аннотация на лице выглядит странно. Вы уверены, что вам это нужно? –
Нет, не уверен. совершенно новый к весне. – Mulgard
Скорее всего вы можете удалить его: http://docs.spring.io/spring/docs/current/spring-framework-reference/htmlsingle/#beans-scanning-autodetection –