java - spring mvc注解验证

标签 java model-view-controller spring validation annotations

我有一个看起来像这样的表单

public class ValidationForm {
  private Person person;
  @Size(min=1,max=10,message="out of range")
  private String test;
  //other stuff

我的验证 Controller 是这样的

public void processForm(@Valid @ModelAttribute("validateForm") ValidationForm vform, 
  BindingResult result){

我的Person类是这样的

public class Person {
private String id;
@Size(min=1, max=35, message="Enter less than 35 Charercters")
private String firstName;
@Size(min=1, max=35, message="Enter less than 35 Charercters")
private String lastName;

如果我的 jsp 页面中的名字或姓氏为空,则不会出现验证错误。但如果测试为空,则存在验证错误。我应该做什么来验证表单中对象的属性。目前仅验证表单的属性。

最佳答案

我将验证表单更改为

public class ValidationForm {
@Valid
private Person person;
@Size(min=1,max=10,message="out of range")
private String test;

现在可以了

关于java - spring mvc注解验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3644781/

相关文章:

java - 是否有任何 Java 方法排序约定?

ruby-on-rails - 辅助方法或模型或 Controller ?

java - 如何确保 A href 的绝对 URL 重定向

mysql - 什么时候忽略innodb_lock_wait_timeout?

java - 以整数/字符串形式输入并将其存储在数组中

java - 如何从 javafx 中的事件处理程序返回结果?

java - 静态引用 WebSecurityConfigurerAdapter 来获取随机 CSP 随机数哈希?

javascript - HTTP 响应对象中缺少数据字段。我怎样才能访问它?

java - BeanNameAware 的用例

java - Java 中的线程 : How to lock an object?