对所有请求参数进行拦截验证? 400 报错-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

对所有请求参数进行拦截验证? 400 报错

优选2 2020-06-09 10:50:01 110

对所有请求参数进行拦截验证? 400 报错

@JFinal 你好,想跟你请教个问题:

我想在Validator拦截器中对所有参数进行验证   代码如下:

public class ParamsInterceptor extends Validator {
private String val;

@Override
protected void validate(Controller c) {

Enumeration<String> paraNames = c.getParaNames();
    while (paraNames.hasMoreElements()) {
    val=paraNames.nextElement();
    validateRequired("name", "name", "数据格式有误...");
    }
}


@Override
protected void handleError(Controller c) {
    c.renderJson("{\"status\":"+Code.SYS_PARAMETER_ERROR+",\"msg\":"+val+"数据格式有        \误...,\"success\":"+false+"}");
    }
}

问题:怎样当参数有误时直接调用handleError方法 ,循环的话验证不起作用




数据格式
分享到
取消 提交回答
全部回答(1)
  • 优选2
    2020-06-09 10:50:16

      当validate中的  validateRequired("name","name","数据格式有误...")这个方法出现验证失败的情况,会自动去掉用handleError

      如果validate中没能使用过使用validateXxxx系列的方法,还可以手动使用addError(...)方法,也会自动引发handleError方法被调用

    ######super. setShortCircuit(true);加一个这个就好了
    0 0
大数据
使用钉钉扫一扫加入圈子
+ 订阅

大数据计算实践乐园,近距离学习前沿技术

推荐文章
相似问题