有关hibernate-validator的语法请参考:hibernate-validator 校验规则详解
第一步:添加maven依赖<dependency>
<groupId>org.hibernate.validatorgroupId>
<artifactId>hibernate-validatorartifactId>
<version>6.2.3.Finalversion>
dependency>
第二步:在applicationContext.xml中添加配置
<mvc:annotation-driven validator="validator"/>
<bean id="validator" class="org.springframework.validation.beanvalidation.LocalValidatorFactoryBean">
<property name="providerClass" value="org.hibernate.validator.HibernateValidator"/>
bean>
第三步:实体类中添加检验
@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor
@ToString
public class Province {
/**
* 编号
*/
private Integer id;
/**
* 省名
*/
@NotBlank(message = "省名不能为空")
private String name;
/**
* 所属地区
*/
@NotBlank(message = "大区不能为空")
private String area;
/**
* 显示优先级
*/
@Range(min=0,max=255,message="优先级不能为空,且值需要在[0,255]")
private Integer priority;
/**
* 状态:1正常 0 删除
*/
private Byte status;
}
第四步:Controller中使用
@Controller
@RequestMapping("/province")
public class ProvinceController {
@Resource
private ProvinceService provinceService;
@PostMapping("/add")
public String add(@Valid Province province, BindingResult result) {
if(result.hasErrors()){
//如果没有通过,跳转提示
Map<String, String> map = getErrors(result);
//TODO 将错误以特定(比如,JSON)的格式传递给用户
return "";
}else {
province.setStatus((byte) 1);
provinceService.add(province);
//重定向到列表页面
return "redirect:/province/list";
}
}
private Map<String, String> getErrors(BindingResult result) {
Map<String, String> map = new HashMap< >();
List<FieldError> list = result.getFieldErrors();
for (FieldError error : list) {
map.put(error.getField(), error.getDefaultMessage());
}
return map;
}
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)