ドメインの検証を行いたい。私のオブジェクトには、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の数値フィールドと、それぞれのプリミティブ ラッパーを検証するために使用されます。Stringintshortbyte
@Sizeフィールドの長さの制約をチェックするために使用されます。
ドキュメントに従って、、、およびwhileを@SizeサポートしString、プリミティブとそのラッパーをサポートします。ドキュメントを参照してください。CollectionMaparrays@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 インスタンスのフィールドに適用される制約を宣言するために使用します。
manufacturernull になることはありません
licensePlatenull になることはなく、2 ~ 14 文字の長さでなければなりません
seatCount少なくとも 2 であること。