5 回答

TA貢獻(xiàn)1804條經(jīng)驗(yàn) 獲得超7個(gè)贊
在內(nèi)部檢查最小大小為 1 和 null。在 @NotEmpty 的文檔中,明確提到:"Asserts that the annotated string, collection, map or array is not {@code null} or empty."

TA貢獻(xiàn)2016條經(jīng)驗(yàn) 獲得超9個(gè)贊
檢查 @NotEmpty 的導(dǎo)入:
org.hibernate.validator.constraints.NotEmpty
這個(gè)對我有用!
我使用 Spring Boot2.5.5
和 Hibernate 驗(yàn)證器6.2.0.final
。
請注意,這javax.validation.constraints.NotBlank
不起作用!

TA貢獻(xiàn)1803條經(jīng)驗(yàn) 獲得超3個(gè)贊
我用你的代碼片段創(chuàng)建了一個(gè)演示項(xiàng)目并且它可以工作,你能檢查一下有什么不同嗎?你真的導(dǎo)入了嗎javax.validation.constraints.NotEmpty
?
------------------------------------------------------
?T E S T S
-------------------------------------------------------
Running nl.martinvw.test.PersonTest
jul 17, 2019 2:38:01 PM org.hibernate.validator.internal.util.Version <clinit>
INFO: HV000001: Hibernate Validator 6.1.0.Alpha5
Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.353 sec
Results :
Tests run: 2, Failures: 0, Errors: 0, Skipped: 0

TA貢獻(xiàn)1735條經(jīng)驗(yàn) 獲得超5個(gè)贊
還會(huì)檢查 @NotNull 并另外檢查所提供對象的大小/長度。對于您上面的測試用例,您將獲得 1 次違規(guī),因?yàn)槟鷽]有設(shè)置作業(yè)名稱(其為空)并且您配置為 @NotEmpty(message = "mandatoryParametersMissing") private String name;
所以 @NotEmpty 涵蓋了您的 @NotNull 案例。
我運(yùn)行了您上面的代碼并且運(yùn)行良好。我使用了以下依賴項(xiàng)
我運(yùn)行了您的代碼,它對我來說工作正常。檢查@NotEmpty 的導(dǎo)入
org.hibernate.validator.constraints.NotEmpty
我使用了以下依賴項(xiàng)
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-validator</artifactId>
<version>6.0.13.Final</version>
</dependency>
<dependency>
<groupId>org.glassfish</groupId>
<artifactId>javax.el</artifactId>
<version>3.0.0</version>
</dependency>
<!-- https://mvnrepository.com/artifact/junit/junit -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>

TA貢獻(xiàn)1770條經(jīng)驗(yàn) 獲得超3個(gè)贊
似乎問題出在依賴項(xiàng)上,由于某種原因在類路徑中 validation-api 的 jar 版本是錯(cuò)誤的我只是刪除了類路徑中的所有 jar 并再次添加它們并且錯(cuò)誤消失了。
添加回答
舉報(bào)