我在同一窗口父级下有几个intbox。我为一个intbox创建了一个带有自定义消息的自定义验证器。为了显示错误消息,我使用一个标签,我给出一个唯一的ID。现在我需要对所有的intbox使用相同的约束。在自定义错误消息中,我有一个唯一的标签ID用于显示错误,那么我如何对所有的intbox使用相同的消息? 以下是我的自定义验证器的代码,其中包含自定义消息:
<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();
]]>
感谢。
答案 0 :(得分:0)
有几种解决方案。首先,您可以增强MyConst的构造函数以接受Label。
其次,您可以使用名称模式。例如,如果标签的ID始终是文本框ID的连接,例如“错误”。然后,您可以使用comp.getFellow(comp.getId()+“Error”)来检索标签。
此外,您可以使用the server-side component selector来获取标签。