2011-08-11 5 views
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> 

答えて

0

ラベルの代わりに<span wicket:id="b"></span>を使用する必要があります。

関連する問題