[英]Multiple javax.validation.constraints validations on @PathVariable
我正在對路徑變量應用多個驗證
@PathVariable(name = "id")
@NotBlank(message = "Missing required field")
@Size(min = 1, max = 3, message = "Invalid input size")
String id
現在,當我在路徑參數中發送空字符串時,我收到了兩條消息,因為兩次驗證都失敗了。
對於我的參數id ,我想要兩個驗證,但它不應該在我發送空字符串時同時拋出兩個錯誤消息。
我只想扔
“缺少必填字段”
而不是兩者。
NotBlank
是NotNull
和NotEmpty
驗證的兩種功能的組合。 因此@NotBlank
將在綁定的 pathVariable 為null
和為empty
時觸發。
由於您已經有了@Size(min = 1, max = 3, message = "Invalid input size")
您已經在檢查 if not empty
。 如果 pathVariable 為empty
字符串,此注釋將與@NotBlank
同時觸發。
因此,當它是null
時,您只需要進行不同的約束驗證,這樣強制約束的 2 個注釋就不會相互覆蓋。
作為解決方案,您可以將@NotBlank
替換為@NotNull
。
@PathVariable(name = "id")
@NotNull(message = "Missing required field")
@Size(min = 1, max = 3, message = "Invalid input size")
String id
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.