springMvc 的参数验证 BindingResult result 的使用

来源:互联网 发布:mac更改登录用户名 编辑:程序博客网 时间:2024/06/02 00:46

http://blog.sina.com.cn/s/blog_6829be5c0101alxh.html 非常详细的一篇讲解 并且值得深入探讨

http://bbs.csdn.NET/topics/360254599  简单明了

 

 

1. 首先导入依赖包bean-validator.jar

2.在实体类上面写一些相关的验证信息:可以搜索更多的一些验证方式,这只是一部分

可以参考:点击打开链接http://blog.csdn.Net/caihaijiang/article/details/7463514

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;      }  

2、后台controller处理

@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";      }  

1、参数集合实体

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 */@NotEmptyprivate String accSetUid;/** * 账期 */@NotEmptyprivate String fiscalPeriod;/** * 流水号 */@NotEmptyprivate String flowSeq;/** * 现金明细数据集合 */@Validprivate 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;}}
2、参数实体

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;// 日记账表idprivate String id;// 日期@NotEmptyprivate String tradeDate;// 业务类型private String busitype;// 业务类型Uid@NotEmptyprivate String busitypeUid;// 往来单位private String dealings;// 业务主数据Uid@NotEmptyprivate String dealingsUid;// 收入金额private BigInteger incomeAmount;// 支出金额private BigInteger expenseAmount;// 备注@NotEmptyprivate String remark;// 主数据Uid@NotEmptyprivate 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;}}

3、controer写法

@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);}



原创粉丝点击