1

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

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

但问题是:我希望能够在用户在 textarea 中输入任何内容之前调用 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 回答