Wicket textarea具有默认输入

时间:2012-08-20 14:53:45

标签: validation input textarea wicket default

我有一个textarea,有时会在其中包含默认文本,有时不依赖于数据库中的值。现在,我在textareas构造函数中使用了一个模型,其getObject()返回一个字符串,它可以很好地显示从数据库中获取的文本:

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

这是问题所在:我希望能够在用户输入textarea中的任何内容之前调用myTextArea.validate(),现在我总是得到一个必需的错误。显然,checkRequired()在验证textarea时使用getInput(),并且getInput()的默认值为null。

有没有什么方法可以将textarea的输入与它的modelObject匹配,或者使默认输入由textarea中显示的文本确定?

1 个答案:

答案 0 :(得分:0)

getInput从与表单组件对应的请求参数中读取其值。我认为您应该在文本区域中覆盖此方法,并使其在原始getInput返回null时返回模型的值。例如:

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

  return originalInput;
}