我有一个显示计算值的Wicket TextField。该值在模型对象的get方法中计算。我已经在该字段中附加了一个自定义验证器。
验证程序失败时会出现问题。如果我更改了其他字段中的某些值,则计算值应在失败字段中更改。这不会发生。我已经验证了实际调用了get-metod,它还计算了正确的值。但是,它不会显示在文本字段中。该领域仍然显示旧的..
有谁知道为什么会这样?
答案 0 :(得分:2)
当FormComponent
上的验证失败时,其rawInput
未被清除 - 这样用户就可以修复该值,而不必从头开始输入所有内容。
在您的情况下,您基本上是在更改FormComponent
后面的模型,因此它不知道有新值。更改模型值后,您应该在其上调用modelChanged()
方法 - 这将重置验证和rawInput,然后您的表单将按预期工作。