私は多くのTextField入力コンポーネントを含むwicketフォームを持っています。これらの入力の大部分にはバリデーターが添付されています。フィードバックエラーを返すことはできますが、Wicketはコンポーネントモデルを更新できますか?
50個の値を入力し、そのうちの1つが範囲バリデータに失敗したとします。 Wicketはエラーフィードバックメッセージを生成しますが、各コンポーネントに関連付けられたモデルも更新しません。結果は、入力したばかりの50個の値がすべて失われ、再度入力する必要があります。
私の質問は、有効な値を持つコンポーネントのモデルを更新するようWicketに伝えることができますが、不正な値についてエラーを報告するだけですか?
フレームワークを掘り下げて見ると、FormComponentのこのコード部分に気付きました。これは、エラーがあれば、モデルを更新しないことを示しているようです。
public final void processInput()
{
inputChanged();
validate();
if (hasErrorMessage())
{
invalid();
}
else
{
valid();
updateModel();
}
}
この動作をカスタマイズしてすべての有効な値を保持する目的はありますか?
どのバリデーターを使用していますか?検証エラーがあっても、ユーザーの入力を保持する必要があります。これらのバリデータの1つを表示して、FormComponentsにどのように添付されていますか、フォーム提出の処理方法を教えてください。 –