ttp://blog.sina.com.cn/s/blog_6829be5c0101alxh.html 很是详细的一篇讲解 而且值得深刻探讨html
http://bbs.csdn.NET/topics/360254599 简单明了java
1. 首先导入依赖包bean-validator.jarapp
2.在实体类上面写一些相关的验证信息:能够搜索更多的一些验证方式,这只是一部分ui
能够参考:点击打开连接http://blog.csdn.Net/caihaijiang/article/details/7463514this
private String username; private String password; private String nickname; private String email; public User() { } @NotEmpty(message="用户名不能为空") public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } @Size(min=1,max=10,message="密码的长度应该在1和10之间") public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public String getNickname() { return nickname; } public void setNickname(String nickname) { this.nickname = nickname; } @Email(message="邮箱的格式不正确") public String getEmail() { return email; } public void setEmail(String email) { this.email = email; }
二、后台controller处理hibernate
@RequestMapping("save") public String save( @Valid User user,BindingResult result) { // if(result.hasErrors()){ List<ObjectError> ls=result.getAllErrors(); for (int i = 0; i < ls.size(); i++) { System.out.println("error:"+ls.get(i)); } } return "adduser"; }
一、参数集合实体code
package com.yzf.cloud.funds.model.vo; import java.io.Serializable; import java.util.List; import javax.validation.Valid; import org.hibernate.validator.constraints.NotEmpty; public class CashJournalsVo implements Serializable{ private static final long serialVersionUID = 1L; /** * 帐套UID */ @NotEmpty private String accSetUid; /** * 帐期 */ @NotEmpty private String fiscalPeriod; /** * 流水号 */ @NotEmpty private String flowSeq; /** * 现金明细数据集合 */ @Valid private List<CashJournalVO> cashJournalVOs; public String getAccSetUid() { return accSetUid; } public void setAccSetUid(String accSetUid) { this.accSetUid = accSetUid; } public String getFiscalPeriod() { return fiscalPeriod; } public void setFiscalPeriod(String fiscalPeriod) { this.fiscalPeriod = fiscalPeriod; } public String getFlowSeq() { return flowSeq; } public void setFlowSeq(String flowSeq) { this.flowSeq = flowSeq; } public List<CashJournalVO> getCashJournalVOs() { return cashJournalVOs; } public void setCashJournalVOs(List<CashJournalVO> cashJournalVOs) { this.cashJournalVOs = cashJournalVOs; } }
二、参数实体htm
package com.yzf.cloud.funds.model.vo; import java.io.Serializable; import java.math.BigInteger; import org.hibernate.validator.constraints.NotEmpty; /** * 现金日记明细表 * * @author win 10 * */ public class CashJournalVO implements Serializable { private static final long serialVersionUID = 1L; // 日记帐表id private String id; // 日期 @NotEmpty private String tradeDate; // 业务类型 private String busitype; // 业务类型Uid @NotEmpty private String busitypeUid; // 往来单位 private String dealings; // 业务主数据Uid @NotEmpty private String dealingsUid; // 收入金额 private BigInteger incomeAmount; // 支出金额 private BigInteger expenseAmount; // 备注 @NotEmpty private String remark; // 主数据Uid @NotEmpty private String mdataUid; public String getId() { return id; } public void setId(String id) { this.id = id; } public String getTradeDate() { return tradeDate; } public void setTradeDate(String tradeDate) { this.tradeDate = tradeDate; } public String getBusitype() { return busitype; } public void setBusitype(String busitype) { this.busitype = busitype; } public String getBusitypeUid() { return busitypeUid; } public void setBusitypeUid(String busitypeUid) { this.busitypeUid = busitypeUid; } public String getDealings() { return dealings; } public void setDealings(String dealings) { this.dealings = dealings; } public String getDealingsUid() { return dealingsUid; } public void setDealingsUid(String dealingsUid) { this.dealingsUid = dealingsUid; } public BigInteger getIncomeAmount() { return incomeAmount; } public void setIncomeAmount(BigInteger incomeAmount) { this.incomeAmount = incomeAmount; } public BigInteger getExpenseAmount() { return expenseAmount; } public void setExpenseAmount(BigInteger expenseAmount) { this.expenseAmount = expenseAmount; } public String getRemark() { return remark; } public void setRemark(String remark) { this.remark = remark; } public String getMdataUid() { return mdataUid; } public void setMdataUid(String mdataUid) { this.mdataUid = mdataUid; } }
三、controer写法
blog
@PostMapping("/updateCashJournal") public ResultJson updateCashJournal(@RequestHeader("tenantUid") String tenantUid, @Valid @RequestBody CashJournalsVo cashJournalsVo, BindingResult bindingResult) { if (bindingResult.hasErrors()) { logger.info("传递参数有误:" + new JSONObject(bindingResult.getFieldError()).toString()); return buildResultJson(FAIL, "编辑失败", "编辑现金日记帐"); } return cashJournalAccountService.updateCashJournal(tenantUid, cashJournalsVo, personName); }