springMvc 的参数验证 BindingResult result 的使用

29 篇文章 0 订阅

 

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
	 */
	@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;
	}


}

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;
	// 日记账表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;
	}
}


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

 

 

 

 

 

 

 

  • 1
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值