zoukankan      html  css  js  c++  java
  • springMvc 的参数验证 BindingResult result 的使用

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

    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处理

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

      参数集合实体

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

      参数实体

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

      controller写法

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

      

  • 相关阅读:
    C++ Primer Plus(三)
    C++ Primer Plus(二)
    C++ Primer Plus(一)
    C Primer Plus(三)
    C++ 函数重载,函数模板和函数模板重载,选择哪一个?
    Spring IoC 公共注解详解
    Spring IoC @Autowired 注解详解
    Spring IoC 容器的扩展
    Spring IoC bean 的初始化
    Spring IoC 属性赋值阶段
  • 原文地址:https://www.cnblogs.com/vincentmax/p/14414825.html
Copyright © 2011-2022 走看看