1

デフォルトのテキストが含まれることもあれば、データベースの値に依存しないこともあるテキストエリアがあります。現在、私はtextareasコンストラクターでモデルを使用しています。このモデルのgetObject()は文字列を返し、データベースから取得したテキストを表示するために正常に機能します。

myTextArea = new TextArea<String>("text", textModel);

ただし、問題は次のとおりです。ユーザーがテキストエリアに何かを入力する前にmyTextArea.validate()を呼び出せるようにしたいのですが、今は常に必要なエラーが発生します。どうやら、checkRequired()はtextareaを検証するときにgetInput()を使用し、getInput()のデフォルト値はnullです。

textareaの入力をそのmodelObjectと一致させる方法、またはデフォルトの入力をtextareaに表示されるテキストによって決定させる方法はありますか?

4

1 に答える 1

0

getInput は、フォーム コンポーネントに対応するリクエスト パラメータからその値を読み取ります。元の getInput が null を返す場合は、テキスト領域でこのメソッドをオーバーライドして、モデルの値を返すようにする必要があると思います。例えば:

public String getInput(){
  String originalInput = super.getInput();
  if(originalInput == null && textModel.getObject() != null)
   return textModel.getObject().toString();

  return originalInput;
}
于 2012-08-23T17:59:32.850 に答える