我有一个表格,在某些字段(必填字段)上有验证。 每当我提交缺少值的表单时,我都会在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>
答案 0 :(得分:2)
只是把你的代码扔到我的Wicket 1.5.7上,它运行得很好。从描述的行为来看,您使用Ajax来提交表单,并且没有将FeedbackPanel添加到onSuccess中的AjaxRequestTarget。