Wicket のFeedbackPanel で別クラスで別の package に書く form 要素のバリデーションエラー表示は
無理と思っていたのだが、Wicket にある FormComponentPanel を使った時に可能であることに気がついた。
package jp.uran.foo
import org.apache.wicket.markup.html.form.FormComponentPanel;
public class SamplePanel extends FormComponentPanel{
:
add(this.ip1=new RequiredTextField<Integer>("ip1",new PropertyModel<Integer>(this,"ip1value"),Integer.class));
this.ip1.add(new RangeValidator<Integer>(0,255));
こんなクラスの中で、<input> 等の入力エラーは、
package jp.uran.foo の場所に、SamplePanel.properties を置き、
SamplePanel クラスの中で add する入力コンポーネントのwicket:id で、
SamplePanel.properties にエラー表示規則を書けばよい。
ip1 = IP(1)
ip1.Required = ${label} は、必須入力です!
ip1.IConverter = ${label} は、半角数字入力です
ip1.RangeValidator = ${label} は、0 から 255 で入力してください