В моей форме есть одна панель обратной связи для общих сообщений обратной связи и два поля ввода формы, каждое со своей собственной панелью обратной связи для проверочных сообщений обратной связи. Однако, когда ввод формы не проходит проверку, сообщение обратной связи появляется как на панели для сообщения обратной связи поля, так и на панели для общих сообщений. Это не то, что я хочу, потому что сообщения обратной связи дублируются:
HTML:
<h2>The Form</h2>
<form wicket:id="loginForm">
<div wicket:id="allFeedback"></div>
<div wicket:id="usernameFeedback"></div>
<p>Username: <input wicket:id="username" type="text"/></p>
<div wicket:id="passwordFeedback"></div>
<p>Password: <input wicket:id="password" type="password"/><p>
<input type="submit" name="Login" value="Login"/>
</form>
Java:
TextField usernameField = new TextField("username", Model.of(""));
usernameField.setRequired(true);
add(usernameField);
PasswordTextField passwordField = new PasswordTextField("password", Model.of(""));
add(passwordField);
add(new FeedbackPanel("allFeedback"));
add(new FeedbackPanel("usernameFeedback",
new ComponentFeedbackMessageFilter(usernameField)));
add(new FeedbackPanel("passwordFeedback",
new ComponentFeedbackMessageFilter(passwordField)));
Есть ли способ предотвратить дублирование? Я не хочу дублировать сообщения обратной связи с указанием поля c в общей панели обратной связи.