フォームデータの検証にSpring検証と注釈を併用したいと考えています。 は、だから私は、例えば以下の目的を持っている:あなたがここに見ることができるようにスプリングフォーム検証はデータベースの挿入を検証しますか?
@Entity
@ComponentScan
public class Category {
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE)
private long id;
@NotEmpty
private String type;
...
}
iはtype
文字列に@NotEmpty
を使用しました。私はこれをフォームの検証にのみ使用したいと思っています。データベースの挿入を検証するべきではありません。
だから私が行うとき:
@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();
をし、私はその空のオブジェクトに保存を実行:
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}'}
]
:
this.category_repository.save(category);
は、私は(それの唯一の重要な部分)のエラーを取得
それは私が欲しいものではありません。フォームの検証にアノテーションを使用したいのですが、データベース操作で検証を実行する必要はありません。
どういうわけかできますか?
javax.validation.constraints.NotNull;
注釈:
追加情報は、私が使用して同じ結果を持っていました。
を、 'エンティティのComponentScan' @注釈は奇妙に見えます。あなたはそれが本当に必要なのですか? –
いいえ、わかりません。まったく新しい春です。 – Mulgard
おそらくそれを削除することができます:http://docs.spring.io/spring/docs/current/spring-framework-reference/htmlsingle/#beans-scanning-autodetection –