2

一部のフィールド (必須フィールド) を検証するフォームがあります。値が欠落しているフォームを送信するたびに、FeedbackPanel に対応するエラー メッセージが表示されます。不足している情報を入力してフォームを再送信しても、エラー メッセージは変わりません。フォームは送信されません。

私の環境では、検証は 1 回限りのもののようで、フォームを送信すると、最初の送信の結果に固執します。

これについての説明はありますか?提案?? ヘルプ???

私はWicket-1.5.7(まだ修正されていないことを確認するためにアップグレードしたばかり)とTomcat v6.0を使用しています...また、JPAプロバイダーとしてEclipseLink、DBとしてH2を使用しています-完全を期すためだけです。

次の簡単な例は、説明されている問題を示しています。

ジャワ:

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>
4

1 に答える 1

2

あなたのコードを私の Wicket 1.5.7 に放り込むだけで、問題なく動作しました。説明されている動作から判断すると、Ajax を使用してフォームを送信しており、onSuccess で FeedbackPanel を AjaxRequestTarget に追加していません。

于 2012-08-15T17:06:23.167 に答える