先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>