有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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

当我试图验证隐藏字段是否为空时,验证程序发送的消息是隐藏!!不过我想展示一下。这是隐藏字段:

<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) 个答案

  1. # 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”是示例视图名称