首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在嵌套字段中使用注释的Spring验证

在嵌套字段中使用注释的Spring验证
EN

Stack Overflow用户
提问于 2016-03-16 10:27:36
回答 1查看 161关注 0票数 1

让我们直接上我的课,Person.java

代码语言:javascript
运行
复制
public class Person {

    @Size(min=4, max=10)
    private String name;

    @Range(min=0, max=80)
    private Integer age;

    @NotEmpty
    private String address;

    @Pattern(regexp="^[_A-Za-z0-9-\\+]+(\\.[_A-Za-z0-9-]+)*@[A-Za-z0-9-]+(\\.[A-Za-z0-9]+)*(\\.[A-Za-z]{2,})$")
    private String email;

    @Past
    private Date birth;

    private Pet pet;
...
}

和Pet.java

代码语言:javascript
运行
复制
public class Pet {

    @NotEmpty
    public String name;
    @NotEmpty
    public Integer age;
...
}

这是我的表格

代码语言:javascript
运行
复制
   <form:form action="enter" method="post" commandName="personForm">
name:   <form:input  path="name"/>      <form:errors path="name" />     <br/>
age:    <form:input  path="age"/>       <form:errors path="age" />      <br/>
address:<form:input  path="address"/>   <form:errors path="address" />  <br/>
email:  <form:input  path="email"/>     <form:errors path="email" />    <br/>
birth:  <form:input  path="birth"/>     <form:errors path="birth" />    <br/>
petName:<form:input  path="pet.name"/>  <form:errors path="pet.name" /> <br/>
petAge: <form:input  path="pet.age"/>   <form:errors path="pet.age" />  <br/>
<input type="submit" value="Register"/> <br/>
</form:form>

代码运行良好,并在表单上显示消息:error。当输入无效值时阻塞,除非涉及到petName和petAge。

实际上,代码根本不验证petName和petAge。我在使用hibernate验证器。谁能告诉我怎么解决这个问题吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-03-16 10:44:25

尝试在javax.validation.Valid之上添加pet注释。

代码语言:javascript
运行
复制
public class Person {

    @Size(min=4, max=10)
    private String name;

    @Range(min=0, max=80)
    private Integer age;

    @NotEmpty
    private String address;

    @Pattern(regexp="^[_A-Za-z0-9-\\+]+(\\.[_A-Za-z0-9-]+)*@[A-Za-z0-9-]+(\\.[A-Za-z0-9]+)*(\\.[A-Za-z]{2,})$")
    private String email;

    @Past
    private Date birth;

    @Valid  // This line   
    private Pet pet;

}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36032959

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档