Java 即使代码看起来很好,Spring验证也不起作用
我刚开始用javax.validation.constraints测试验证,我认为我做得很好,但不知怎么的,它不起作用。我看了这么长时间的代码,没有发现任何错误。当我键入错误的名称数据进行表单和提交时,错误文本不会弹出,(errors.hasErrors())为false,这意味着没有任何错误 这是我的班级:Java 即使代码看起来很好,Spring验证也不起作用,java,spring,spring-boot,spring-mvc,thymeleaf,Java,Spring,Spring Boot,Spring Mvc,Thymeleaf,我刚开始用javax.validation.constraints测试验证,我认为我做得很好,但不知怎么的,它不起作用。我看了这么长时间的代码,没有发现任何错误。当我键入错误的名称数据进行表单和提交时,错误文本不会弹出,(errors.hasErrors())为false,这意味着没有任何错误 这是我的班级: @Data public class Application { private int id; @NotNull(message = "Nazwa wymag
@Data
public class Application {
private int id;
@NotNull(message = "Nazwa wymagana!")
@Size(min=2, message = "Name should have at least 2 characters!")
@Size(max=30, message = "Name too long!")
private String name;
private String domain;
private List<Person> users;
}
表格:
波普拉·博伊迪·斯普罗布吉·波诺尼。
Nazwa aplikacji
名称错误
多梅纳aplikacji
问题可能是相互冲突的依赖项。如果您使用的是spring boot,则可以在pom.xml文件上添加此依赖项:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-validation</artifactId>
</dependency>
org.springframework.boot
弹簧启动启动器验证
确保删除其他hibernate或javax验证依赖项
还要确保使用了正确的注释。它们都应该来自
javax.validation.constraints.*
更详细地描述“不工作”。什么是错误和模型?在您提供的代码中,似乎一切正常。
<form action="#" th:action="@{/applications/add}" th:object="${app}" method="post">
<div th:if="${#fields.hasErrors()}">
<span>
Proszę popraw błędy i spróbuj ponownie.
</span>
</div>
<div>
<label for="nameeee">Nazwa aplikacji</label>
<input type="text" th:field="*{name}" id="nameeee" placeholder="Nazwa"/>
<span th:if="${#fields.hasErrors('name')}" th:errors="*{name}">Name Error</span>
</div>
<div>
<label for="domain">Domena aplikacji</label>
<input type="text" th:field="*{domain}" id="domain" placeholder="Domena"/>
</div>
<input type="submit" value="Dodaj aplikację!">
</form>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-validation</artifactId>
</dependency>