カスタム検証を作成せずに@NotEmpty
hibernate検証を実装する方法はありますか? javax.validationパッケージには、この注釈は含まれていません。 @NotNull
のみ。ただし、Nullではないが空の値については検証しません。だから、@NotEmpty
の代替を見てみたい。
@Pattern
を使用していますか?どうやって?
NotEmptyは、単に_@NotNull
_と@Size(min=1)
の組み合わせです。
@NotEmptyはnull要素を含むList <>に対して有効を返すことに注意してください。
@QueryParam List <>の場合の奇妙な種類
Affeが言うように、コレクションを繰り返し、要素がnullでない場合にのみブールフラグを配置するカスタムバリデーターで@NotNullおよび@Size(min = 1)アノテーションが付けられたカスタムアノテーションを作成しました。
この回答の成績で-2ポイントを受け取りました。
それで更新します。
Hibernate 6以降のHibernate @NotEmptyソースコードでは、代わりに標準の{@link javax.validation.constraints.NotEmpty}制約を使用するよう指示されています。
/**
* Asserts that the annotated string, collection, map or array is not {@code null} or empty.
*
* @author Emmanuel Bernard
* @author Hardy Ferentschik
*
* @deprecated use the standard {@link javax.validation.constraints.NotEmpty} constraint instead
*/
見る:
Bean Validation 2.0(JSR 380)の後、新しいアノテーション@NotEmptyがあります。
javax.validation.constraints.NotEmpty
見る:
http://beanvalidation.org/2.0/spec/#builtinconstraints-notempty
Hibernateの場合、新しいバージョンでは非推奨です。
Javax検証の新しいバージョンでは、@Empty
つかいます
import javax.validation.constraints.NotEmpty;
@NotEmpty
private List<Record> records;