显示隐藏字段的验证器消息

时间:2013-06-03 23:31:09

标签: java html validation spring-mvc

当我尝试通过 Spring Validator 验证 隐藏 字段是否为空时,验证程序发送的消息为 隐藏 到!!但是我想展示它。这是隐藏的字段:

<form:errors path="cinn" Class="errorblock"/>
<input type="hidden" value="${agact.cinn}" name="cinn" />

返回消息的验证器的方法:

public void validate(Object obj, Errors err) {
        ValidationUtils.rejectIfEmptyOrWhitespace(err, "cinn", "name.required","You have to choose an agent first");
    }

任何想法?

1 个答案:

答案 0 :(得分:1)

用户不应该首先修改该字段(除非摆弄firebug等),所以最好的办法是断言值是正确的,如果没有,抛出异常(例如IllegalStateException)并对此作出反应通过显示错误消息,例如:

控制器:

@RequestMapping(..)
public String submit(..) {
    if (hidden field is empty) {
        throw new IllegalStateException("Missing XXX");
    }
    ....
   return "redirect:success"
}

@ExceptionHandler
public String handle(IllegalStateException e) {
    logger.warn("User attempted to fiddle with POST data");
    return "error";
}

其中“error”是样本视图名称。