ThinkChat🤖让你学习和工作更高效,注册即送10W Token,即刻开启你的AI之旅 广告
>[info] 当插入与修改数据时,lcfms支持使用hibernate-validator来对pojo做验证。 > > 首先需要为你的pojo作验证注解: ``` package cn.lcfms.app.admin.bean; import javax.validation.constraints.Min; import org.hibernate.validator.constraints.NotBlank; public class DemoBean { private long id; @NotBlank private String s; @Min(18) private int i; private String t; public long getId() { return id; } public void setId(long id) { this.id = id; } public String getS() { return s; } public void setS(String s) { this.s = s; } public int getI() { return i; } public void setI(int i) { this.i = i; } public String getT() { return t; } public void setT(String t) { this.t = t; } } ``` >[info] 你可以使用下面三种验证方法: ## 1、利用BindingResult在控制器注入阶段使用验证 ``` @RequestMapping("/index") public String index(@Valid DemoBean bean,BindingResult result) { StringBuilder sb = new StringBuilder(); if (result.hasErrors()){ List<FieldError> allErrors = result.getFieldErrors(); allErrors.forEach((FieldError error)->{ //错误字段=>错误信息 sb.append(error.getField()+"=>"+error.getDefaultMessage()+"\n"); }); } System.out.println(sb); return "index/index"; } ``` ## 2、使用Validator对象在控制器中进行验证 ``` package cn.lcfms.app.index.controller; import java.util.Set; import javax.validation.ConstraintViolation; import javax.validation.Validator; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import cn.lcfms.app.admin.bean.DemoBean; import cn.lcfms.app.admin.controller.AdminBaseController; @Controller("index.IndexController") @RequestMapping("/index/index") public class IndexController extends AdminBaseController{ @Autowired private Validator valid;//利用Validator标准接口注入对象 @RequestMapping("/index") public String index(DemoBean bean) { Set<ConstraintViolation<DemoBean>> set = valid.validate(bean); if(set.size()>0) { StringBuilder sb = new StringBuilder(); for (ConstraintViolation<DemoBean> vio : set) { //错误字段=>错误信息 sb.append(vio.getPropertyPath()+"=>"+vio.getMessage()+"\n"); } System.out.println(sb); } return "index/index"; } } ``` ## 3、使用BaseService在插入或修改中自动验证 ``` public void t12() { BaseService service = Application.getService("demo"); DemoBean demo=new DemoBean(); demo.setI(5); demo.setS("aaa"); demo.setT("n"); service.insert(demo,"t"); String error; if(null!=(error=service.getError())) { //自动验证后,如果不通过,错误信息将保存到error中 System.out.println(error); }else { System.out.println("插入成功"); } } ```