避免重复的反馈已通过ComponentFeedbackMessageFilter显示

问题描述 投票:0回答:1

在我的表单中,有一个用于常规反馈消息的反馈面板,和两个表单输入字段,每个字段都有自己的用于验证反馈消息的反馈面板。但是,当表单输入无法通过验证时,反馈消息将同时显示在字段反馈消息的面板和常规消息的面板中。这不是我想要的,因为反馈消息是重复的:

Wicket form validation feedback

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)));

是否有防止重复的方法?我不希望在常规反馈面板中重复特定于字段的反馈消息。

wicket wicket-8
1个回答
0
投票

检查user guide,以了解如何实施自定义反馈消息过滤器。这对于常规反馈面板丢弃来自usernameField和passwordField的消息可能很有用。

© www.soinside.com 2019 - 2024. All rights reserved.