我有一个在某些字段(必填字段)上有验证的表格。
每当我提交缺少值的表单时,都会在FeedbackPanel中得到相应的错误消息。当我输入缺少的信息并再次提交表单时,错误消息不会改变;表单未提交。

在我的环境中,验证似乎是一次性的事情,一旦我提交了表单,我就被最初提交的结果所困扰。

有什么解释吗?建议?救命???

我使用的是Wicket-1.5.7(刚刚升级,以确保它不是一个已解决的错误)和Tomcat v6.0…EclipseLink作为JPA提供程序,H2作为DB —出于完整性考虑。

下面的简单示例展示了所描述的问题:

JAVA:

public class TestPage extends WebPage {

    public TestPage() {
        final MyModel myModel = new MyModel();
        final Form<MyModel> form = new Form<MyModel>("form", new CompoundPropertyModel<MyModel>(myModel));
        add(form);

        add(new FeedbackPanel("feedback"));

        final TextField<String> textField = new TextField<String>("name");
        textField.setRequired(true);
        form.add(textField);
        form.add(new Button("submit"));
    }

    public class MyModel implements Serializable {

        public String name;

    }

}


HTML:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>

<div wicket:id="feedback"></div>

<form wicket:id="form">
<input type="text" id="name" wicket:id="name" />
<input type="submit" wicket:id="submit" />
</form>

</body>
</html>

最佳答案

只需将您的代码放入我的Wicket 1.5.7,它就可以正常工作。从描述的行为来看,您正在使用Ajax提交表单,并且没有在onSuccess的AjaxRequestTarget中添加FeedbackPanel。

关于java - 小票验证在首次提交后“挂起”,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11969641/

10-10 08:43
查看更多