先Mark,可实现校验,但还有问题:无法返回校验信息
1.pom.xml
<!--hibernate-validator-后台校验-->
<dependency>
<groupId>org.hibernate.validator</groupId>
<artifactId>hibernate-validator</artifactId>
<version>6.1.5.Final</version>
</dependency>
<dependency>
<groupId>javax.validation</groupId>
<artifactId>validation-api</artifactId>
<version>2.0.1.Final</version>
</dependency>
<!--hibernate-validator-后台校验-->
2.controller中加@Valid
@PostMapping("register")
@ResponseBody
public ResponseEntity<Void> userRegister(@RequestBody @Valid User user){
3.实体类属性加相应注解
import javax.validation.constraints.Pattern;
import org.hibernate.validator.constraints.Length;
......
@Length(min = 4, max = 20, message = "用户名只能在4~20位之间")
private String username;
@Length(min = 4, max = 20, message = "用户名只能在4~20位之间")
private String password;
@Pattern(regexp = "^1[35678]\\d{9}$", message = "手机号格式不正确")
private String phone;
......
4.spring-mvc.xml
<!--验证器-->
<bean id="validator" class="org.springframework.validation.beanvalidation.LocalValidatorFactoryBean">
<!--注入hibernate的验证器-->
<property name="providerClass" value="org.hibernate.validator.HibernateValidator"/>
</bean>