对所有请求参数进行拦截验证? 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方法 ,循环的话验证不起作用
当validate中的 validateRequired("name","name","数据格式有误...")这个方法出现验证失败的情况,会自动去掉用handleError
如果validate中没能使用过使用validateXxxx系列的方法,还可以手动使用addError(...)方法,也会自动引发handleError方法被调用
######super. setShortCircuit(true);加一个这个就好了大数据计算实践乐园,近距离学习前沿技术