0
次のコードは、Firefox 3.6.xを除いて、私が試したすべてのブラウザで問題なく動作しているようです。Firefox 3.6.xのComponentFeedbackPanel
無効なメールアドレスの各キーに重複エラーメッセージが表示されることがあります。これは、エラーメッセージがすぐにページの下に広がることを意味します。
私は何かを見逃してしまったのですか、それともWicketやFirefox 3.6のバグですか? (これはWicket 1.4.xにあります。私は1.4.18にアップグレードしましたが、そこで修正されたことを期待しています。1.4.xの古いバージョンと最新の5.1 RCも試しました)。
package com.mycompany;
import org.apache.wicket.PageParameters;
import org.apache.wicket.ajax.form.AjaxFormValidatingBehavior;
import org.apache.wicket.extensions.validation.validator.RfcCompliantEmailAddressValidator;
import org.apache.wicket.markup.html.WebPage;
import org.apache.wicket.markup.html.form.Form;
import org.apache.wicket.markup.html.form.TextField;
import org.apache.wicket.markup.html.panel.ComponentFeedbackPanel;
import org.apache.wicket.util.time.Duration;
public class HomePage extends WebPage
{
private static final long serialVersionUID = 1L;
public HomePage(final PageParameters parameters)
{
add(new FormX());
}
private class FormX
extends Form<Void>
{
FormX()
{
super("form");
final TextField<String> field;
final ComponentFeedbackPanel feedback;
field = new TextField<String>("a");
field.add(RfcCompliantEmailAddressValidator.getInstance());
field.setRequired(true);
field.setOutputMarkupId(true);
feedback = new ComponentFeedbackPanel("b", field);
feedback.setOutputMarkupId(true);
add(field);
add(feedback);
AjaxFormValidatingBehavior.addToAllFormComponents(this,
"onkeyup",
Duration.milliseconds(250));
}
}
}
<html xmlns:wicket="http://wicket.apache.org/dtds.data/wicket-xhtml1.4-strict.dtd" >
<head>
<title>Wicket Quickstart Archetype Homepage</title>
</head>
<body>
<strong>Wicket Quickstart Archetype Homepage</strong>
<br/><br/>
<form wicket:id="form">
<input class="in" type="text" wicket:id="a"/>
<label wicket:id="b">[Feedback]</label>
</form>
</body>
</html>