jfinal validator 的奇怪问题

lusheng6323 发布于 2015/06/06 15:39
阅读 283
收藏 0

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

controller代码:

@Before(com.tt.validator.health.FamilyUserValidator.class)
public void addFamily(){
String familyName = getPara("familyName");
Record record = new Record().set("userId", getSessionAttr("userId")).set("name", familyName);
Db.save("user_health_family", record);

JSONObject json = new JSONObject();
json.put("success", true);
json.put("id", record.get("id"));
json.put("msgTitle", "添加成功!");
json.put("msg", "添加家庭用户:“"+familyName+"” 成功!");
renderJson(json);
}
Validator代码:

@Override
protected void validate(Controller c) {
validateInteger("familyName", 1, 3, "familyNameNumError", "家庭用户名称数字!");
validateRequired("familyName","familyNameError","家庭用户名称不能为空!");
validateRequired("test","testError","test不能为空!");
}


@Override
protected void handleError(Controller c) {
c.renderJson(getErrorMsg(c));System.out.println(getErrorMsg(c));
}

控制台也输出了:{"msg":"<div><ol><li>家庭用户名称不能为空!</li><li>家庭用户名称数字!</li><li>test不能为空!</li></ol></div>","success":false,"msgTitle":"输入错误","error":true}

问题是程序会继续执行addFamily方法,求救呀,查了好久也没找到问题!!!

加载中
0
JFinal
JFinal
看一下控制台的 JFinal action report,看请求的 action 与 validator 是否匹配
l
lusheng6323
jfinal1.9未做任何修改,别的验证都能正常,就这个controller有问题。郁闷中,对了和jdk或tomcat有关哦。jdk8,tomcat8。
0
l
lusheng6323

引用来自“JFinal”的评论

看一下控制台的 JFinal action report,看请求的 action 与 validator 是否匹配
JFinal action report -------- 2015-06-06 21:35:39 ------------------------------


Controller  : com.tt.controller.health.YysController.(YysController.java:1)
Method      : addFamily
Interceptor : com.tt.interceptor.AuthenticationInterceptor.(AuthenticationInterceptor.java:1)
              com.tt.interceptor.ExceptionInterceptor.(ExceptionInterceptor.java:1)
              com.tt.interceptor.SessionInterceptor.(SessionInterceptor.java:1)
              com.jfinal.plugin.activerecord.tx.TxByActionMethods.(TxByActionMethods.java:1)
              com.jfinal.plugin.activerecord.tx.TxByActionKeys.(TxByActionKeys.java:1)
              com.tt.validator.health.FamilyUserValidator.(FamilyUserValidator.java:1)
Parameter   : familyName=
--------------------------------------------------------------------------------


{"msg":"<div><ol><li>家庭用户名称不能为空!</li><li>家庭用户名称数字!</li><li>test不能为空!</li></ol></div>","success":false,"msgTitle":"输入错误","error":true}
Sql: insert into `user_health_family`(`name`, `userId`) values(?, ?)
JFinal
JFinal
这个行为的确非常诡异,是否使用的是jfinal官方的jar包,公司内部有无对jfinal 进行过修改? 另外最好还是调试一下程度,看到底是怎么走的这个流程。
0
mi-la-king
mi-la-king
 c.render("xxxxx.html"); 直接 render到 页面试试先
0
糊搞
重新Build整个项目试试,Java的增量Build有时会出莫名其妙的问题
l
lusheng6323
谢谢,我试一下
返回顶部
顶部