2012-08-15 20 views
2

我有一個表單,其中有些字段(必填字段)有效。 每當我提交帶有缺失值的表單時,我都會根據FeedbackPanel中的錯誤消息獲得該值。當我輸入缺少的信息並再次提交表單時,錯誤信息不會改變;該表格未提交。第一次提交後檢票驗證「掛起」

看來驗證是我的環境中的一次性事情,一旦我提交表單,我就會陷入初始提交的結果。

對此有何解釋?建議?幫幫我???

我正在使用Wicket-1.5.7(只是升級以確保它不是一個已經修復的bug)和Tomcat v6.0 ...還有EclipseLink作爲JPA提供程序和H2作爲數據庫 - 僅僅是爲了完整性。

下面的簡單示例展示了上面的問題:

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> 

回答

2

只是把你的代碼在我的Wicket 1.5.7和它的工作就好了。從描述的行爲判斷,您使用Ajax提交表單,並且沒有將FeedbackPanel添加到onSuccess中的AjaxRequestTarget。

相關問題