web-dev-qa-db-ja.com

Javax.packageまたは代替のHibernate @NotEmptyアノテーションと同等

カスタム検証を作成せずに@NotEmpty hibernate検証を実装する方法はありますか? javax.validationパッケージには、この注釈は含まれていません。 @NotNullのみ。ただし、Nullではないが空の値については検証しません。だから、@NotEmptyの代替を見てみたい。

@Patternを使用していますか?どうやって?

35
Kevin Rave

NotEmptyは、単に_@NotNull_と@Size(min=1)の組み合わせです。

91
Affe

@NotEmptyはnull要素を含むList <>に対して有効を返すことに注意してください。

@QueryParam List <>の場合の奇妙な種類

Affeが言うように、コレクションを繰り返し、要素がnullでない場合にのみブールフラグを配置するカスタムバリデーターで@NotNullおよび@Size(min = 1)アノテーションが付けられたカスタムアノテーションを作成しました。

7
Jerome_B

更新しました:

この回答の成績で-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
 */

見る:

https://github.com/hibernate/hibernate-validator/blob/6.0/engine/src/main/Java/org/hibernate/validator/constraints/NotEmpty.Java


古い答え:

Bean Validation 2.0(JSR 380)の後、新しいアノテーション@NotEmptyがあります。

javax.validation.constraints.NotEmpty

見る:

http://beanvalidation.org/2.0/spec/#builtinconstraints-notempty

https://github.com/beanvalidation/beanvalidation-api/blob/master/src/main/Java/javax/validation/constraints/NotEmpty.Java

2
zhouji

Hibernateの場合、新しいバージョンでは非推奨です。
Javax検証の新しいバージョンでは、@Empty

つかいます

import javax.validation.constraints.NotEmpty;

@NotEmpty
private List<Record> records;
0
Deep