我目前正在开发一个Wicket 6.20项目,该项目已经有几十页,包含TextFields和DropDownChoices。现在需要将默认的'${label}' is required.
消息更改为更具体的消息,具体取决于TextField或DropDownChoice是否没有值。
我知道我可以将Required=My Text
放在应用程序的属性文件中,但这会更改所有FormComponents的消息。并且以myform.mycontainer.mydropdownchoice.Required=My Text
的形式指定TextFields或DropDownChoices的完整组件路径是不可行的,因为表格的结构当然可以在每个页面上有所不同。
理想情况下,我想提出类似
的内容org.apache.wicket.markup.html.form.DropDownChoice.Required=Please select a value for '${label}'
org.apache.wicket.markup.html.form.TextField.Required=Please enter a value in '${label}'
在我的应用程序的属性文件中,有或没有FQCN。
有没有办法通过Wicket附带的任何默认IStringResourceLoader
来实现这一目标?
答案 0 :(得分:1)
没有必要提供组件的完整路径。它可能是一条只有少数父母的道路:
如果这仍然不是一个选项,那么您可以为任何实例或类型覆盖org.apache.wicket.markup.html.form.FormComponent#reportRequiredError()
(例如MyDropDownChoice
)。