ドメインの検証を行いたい。私のオブジェクトには、1 つの整数があります。
今私の質問は次のとおりです。
@Min(SEQ_MIN_VALUE)
@Max(SEQ_MAX_VALUE)
private Integer sequence;
と
@Size(min = 1, max = NAME_MAX_LENGTH)
private Integer sequence;
整数の場合、ドメインの検証に適しているのはどれですか?
それらの違いは何ですか?
ありがとう。
ドメインの検証を行いたい。私のオブジェクトには、1 つの整数があります。
今私の質問は次のとおりです。
@Min(SEQ_MIN_VALUE)
@Max(SEQ_MAX_VALUE)
private Integer sequence;
と
@Size(min = 1, max = NAME_MAX_LENGTH)
private Integer sequence;
整数の場合、ドメインの検証に適しているのはどれですか?
それらの違いは何ですか?
ありがとう。
@Min
および(数値を表す)、、など@Max
の数値フィールドと、それぞれのプリミティブ ラッパーを検証するために使用されます。String
int
short
byte
@Size
フィールドの長さの制約をチェックするために使用されます。
ドキュメントに従って、、、およびwhileを@Size
サポートしString
、プリミティブとそのラッパーをサポートします。ドキュメントを参照してください。Collection
Map
arrays
@Min
@Max
package com.mycompany;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
public class Car {
@NotNull
private String manufacturer;
@NotNull
@Size(min = 2, max = 14)
private String licensePlate;
@Min(2)
private int seatCount;
public Car(String manufacturer, String licencePlate, int seatCount) {
this.manufacturer = manufacturer;
this.licensePlate = licencePlate;
this.seatCount = seatCount;
}
//getters and setters ...
}
@NotNull
、@Size
および@Min
いわゆる制約アノテーションであり、Car インスタンスのフィールドに適用される制約を宣言するために使用します。
manufacturer
null になることはありません
licensePlate
null になることはなく、2 ~ 14 文字の長さでなければなりません
seatCount
少なくとも 2 であること。