0

我在同一个窗口父级下有几个收件箱。我为收件箱创建了一个带有自定义消息的自定义验证器。为了显示错误消息,我使用了一个标签,我给出了一个唯一的 ID。现在我需要对所有的 intboxes 使用相同的约束。与自定义错误消息一样,我有一个唯一的标签 ID 用于显示错误,那么如何对所有收件箱使用相同的消息?这是带有自定义消息的自定义验证器的代码:

<zscipt> <![CDATA[ class MyConst implements Constraint, CustomConstraint { //Constraint// public void validate(Component comp, Object value) { if (value == null || ((Integer)value).intValue() >8) throw new WrongValueException(comp, "values only b/w 0 and 8"); } //CustomConstraint// public void showCustomError(Component comp, WrongValueException ex) { errmsg.setValue(ex != null ? ex.getMessage(): ""); } } Constraint ctt = new MyConst(); ]]>

谢谢。

4

1 回答 1

0

有几个解决方案。首先,您可以增强 MyConst 的构造函数以接受 Label。

其次,您可以使用名称模式。例如,如果标签的 ID 始终是文本框 ID 的串联,例如“错误”。然后,您可以使用 comp.getFellow(comp.getId()+"Error") 来检索标签。

此外,您可以使用服务器端组件选择器来获取标签。

于 2011-09-22T03:54:57.400 回答