日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

本文介紹了Spring Boot驗證注釋@Valid和@NotBlank不起作用的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!

問題描述

下面給出的是我的主控制器,我正在從中調用getPDFDetail方法。

@RequestMapping(value=PATH_PRINT_CONTRACTS, method=RequestMethod.POST)
    public ResponseEntity<?> printContracts(@RequestBody final UpdatePrintContracts updatePrintContracts) throws Exception {
    
        System.out.println("contracts value is "+ updatePrintContracts);
        
        Integer cancellationReasons = service.getPDFDetails(updatePrintContracts);
        
        System.out.println("success!");
        
        return ResponseEntity.ok(cancellationReasons);
    }   

下面是UpdatePrintContracts類,我在其中定義了帶有驗證批注和相應的getter/setter方法的所有變量。

public class UpdatePrintContracts {
    
    @Valid
    @NotBlank
    @Pattern(regexp = "\p{Alnum}{1,30}")
    String isReprint;
    
    @Valid
    @NotBlank
    Integer dealerId;
    
    @Valid
    @NotBlank
    @Pattern(regexp = "\p{Alnum}{1,30}")
    String includeSignatureCoordinates;
    
    @Valid
    @NotBlank
    java.util.List<Integer> contractNumbers;

    public String getIsReprint() {
        return isReprint;
    }

    public void setIsReprint(String isReprint) {
        this.isReprint = isReprint;
    }

    public Integer getDealerId() {
        return dealerId;
    }

    public void setDealerId(Integer dealerId) {
        this.dealerId = dealerId;
    }

    public String getIncludeSignatureCoordinates() {
        return includeSignatureCoordinates;
    }

    public void setIncludeSignatureCoordinates(String includeSignatureCoordinates) {
        this.includeSignatureCoordinates = includeSignatureCoordinates;
    }

    public java.util.List<Integer> getContractNumbers() {
        return contractNumbers;
    }

    public void setContractNumbers(java.util.List<Integer> contractNumbers) {
        this.contractNumbers = contractNumbers;
    }
    
}

我嘗試將該應用程序作為一個Spring Boot應用程序運行,方法是右鍵單擊項目(運行方式),并通過SOAPUI為變量isReprintincluddeSignatureAssociates傳遞空值。然而,驗證似乎不起作用,并且沒有在SOAPUI中拋出任何驗證錯誤。我遺漏了什么?如有任何幫助,我們將不勝感激!

推薦答案

首先,您不需要在UpdatePrintContracts中為那些類變量添加@Valid注釋。您可以刪除它們。

要觸發@控制器輸入的驗證,只需將輸入參數注釋為@Valid或@Valiated:

@RequestMapping(value=PATH_PRINT_CONTRACTS, method=RequestMethod.POST)
public ResponseEntity<?> printContracts(@Valid @RequestBody  final UpdatePrintContracts updatePrintContracts) throws Exception {

Refer here,以全面了解驗證Spring Boot中的型號。

如果要檢查字符串是否只包含特定字符,則必須添加錨點(^表示字符串的開頭,$表示字符串的結尾),以確保您的模式與所有字符串匹配。花括號僅用于寫入數量,

@Pattern(regexp = "^[\p{Alnum}]{1,32}$")

最后,我假設您的類路徑中有以下JAR,

.valify-api.jar(包含抽象API和注釋掃描程序)

.hibernate-validator.jar(包含具體實現)

這篇關于Spring Boot驗證注釋@Valid和@NotBlank不起作用的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,

分享到:
標簽:Boot NotBlank Spring Valid 不起作用 注釋 驗證
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定