对所有请求参数进行拦截验证

牢记签名十八字 发布于 2016/10/13 16:25
阅读 119
收藏 0

@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方法 ,循环的话验证不起作用




加载中
0
JFinal
JFinal

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

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

0
如梦技术
如梦技术
super.setShortCircuit(true);加一个这个就好了
返回顶部
顶部