服务器端验证示例?/Java

Server-side validation example?/Java

提问人:tChowd93 提问时间:8/5/2017 最后编辑:tChowd93 更新时间:8/5/2017 访问量:1035

问:

我正在尝试创建一个同时执行客户端和服务器端验证的注册表单。我正在使用 Spring MVC 和 Hibernate 来执行此操作。我已经弄清楚了客户端,但我对如何进行服务器端验证感到困惑?这甚至可能实现我想要实现的目标吗?

如果我没有道理,我深表歉意,我是一个相当新的程序员。如果需要更多信息,请告诉我。

java 验证 spring-MVC 服务器端

评论

0赞 Fady Saad 8/5/2017
Spring 还提供了@Validator注解和 BindingResult 类,通过它们我们可以在控制器请求处理程序方法中获取 Validator 实现引发的错误,并且 hibernate-validator 使验证更加容易。
0赞 Sergii 8/5/2017
您需要哪个级别的验证以及用于什么?对限制验证进行休眠注释就足够了吗?
0赞 tChowd93 8/5/2017
我必须验证姓名、电子邮件、电话号码、地址、城市、国家等。有些必须在客户端进行验证,而另一些则在服务器端进行验证,如果这有意义的话

答:

0赞 J-Alex 8/5/2017 #1

Hibernate Validator可以满足您在服务器端验证字段的要求。

import javax.validation.constraints.Max;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;

import org.hibernate.validator.constraints.CreditCardNumber;
import org.hibernate.validator.constraints.Email;

public class User {

    @NotNull(message = "username cannot be null")
    @Size(min = 2, max = 15)
    private String username;

    @Max(100)
    private int age;

    @Email
    private String email;

    @CreditCardNumber
    private String creditCardNumber;

    // constructors, getters, setters
}

Maven 依赖:

<dependency>
    <groupId>javax.validation</groupId>
    <artifactId>validation-api</artifactId>
    <version>1.1.0.Final</version>
</dependency>
<dependency>
   <groupId>org.hibernate</groupId>
   <artifactId>hibernate-validator</artifactId>
   <version>5.4.1.Final</version>
</dependency>