09.struts验证(check)

 

分类

客户端验证:在客户端运行,不需要与服务器进行交互,不需要与数据库进行交互的验证,比如非空,格式,自定义的约束。

服务端验证:必须与数据库进行交互的验证,比如注册用户名是否可用,登陆用户名密码是否正确。

以前

客户端验证:主要用js完成。

服务端验证:java完成。

struts验证

  1. FormBean验证:功能与前面的客户端验证相同,主要是非空格式等。
  2. action验证:功能与前面的服务器段验证相同,主要是需要与数据库进行通信。

FormBean验证

  1. 重写FormBean的validate方法。
    @Override
    public ActionErrors validate(ActionMapping mapping, HttpServletRequest request) {
    	ActionErrors errors = new ActionErrors();
    	if (userName == null || userName.equals("")) {
    		//userNameEmpty 错误的别名
    		errors.add("userNameEmpty", new ActionMessage("input.empty", "xaygc UserName "));
    	}
    	if (password == null || password.equals("")) {
    		errors.add("passWordEmpty", new ActionMessage("input.empty", "xaygc Password "));
    	}
    	return errors;
    }      
            
    

    在struts-config.xml中配置action节点的validate与input属性,validate表示是否调用formBean的validate方法,input是如果出错的话跳转的错误处理界面。注意:如果formBean重写的了validate方法并且action节点validate属性为true,那一定要添加input属性。
  2. 在界面使用<html:errors />或<html:errors property="userNameEmpty"/>显示错误信息。
  3. 虽然完成客户端验证功能,但需要与服务器交互。注意不同的区分标准。

加验证的流程

这里流程为追加,前期参见Struts运行流程

ActionBean验证

ActionMessages messages = new ActionMessages();
messages.add("loginError", new ActionMessage("login.error"));
///new ActionMessages().add("loginError", new ActionMessage("login.error"));
super.saveErrors(request, messages);
return mapping.getInputForward();

ActionBean验证主要做业务,需要与数据库交互,比如用户名是否可用,转账余额是否可用,出货余额等验证,formBean类似于以前的js验证。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值