Spring - Bean Validation - Object Error
1125 ワード
1.Bean Validation-objectError処理
@ScriptAssert()を使用してObjectErrorを処理できます.
@Getter
@NoArgsConstructor
@ScriptAssert(lang = "javascript", script = "_this.price * _this.quantity >= 10000",
message = "총합이 10000원 넘게 입력해주세요")
public class Item {
private Long id;
@NotBlank
private String itemName;
@NotNull
@Range(min= 1000, max= 1000000)
private Integer price;
@NotNull
@Max(9999)
private Integer quantity;
}
上記のコードに示すように、@Script Assert宣言を提供し、scriptで実装したい検証ロジックを作成します.上記のように、検証に失敗すると、ObjectErrorメッセージが返されます.
ただし、実際の使用では多くの制限と複雑さが発生するため、以下のjavaコードを使用してobjecterrorを処理することをお勧めします.
if(item.getPrice() != null && item.getQuantity() != null) {
int resultPrice = item.getPrice() * item.getQuantity();
if(resultPrice < 10000) {
bindingResult.reject("totalPriceMin", new Object[]{10000, resultPrice}, null);
}
}
出典:Spring MVC第2編:バックエンドWeb開発利用技術Reference
この問題について(Spring - Bean Validation - Object Error), 我々は、より多くの情報をここで見つけました https://velog.io/@hyun6ik/Spring-Bean-Validation-Object-Errorテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol