использование пользовательских сообщений для нескольких внутренних ящиков в zk - PullRequest
0 голосов
/ 17 сентября 2011

У меня есть несколько intbox-ов под одним и тем же родительским окном. Я создал собственный валидатор с настраиваемым сообщением для intbox. Для отображения сообщения об ошибке я использую метку, которой я даю уникальный идентификатор. Теперь мне нужно использовать одно и то же ограничение для всех intboxes. Как и в пользовательском сообщении об ошибке, у меня есть уникальный идентификатор метки для отображения ошибки, так как мне использовать одно и то же сообщение для всех входящих сообщений? Вот код для моего пользовательского валидатора с пользовательским сообщением:

<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(); ]]>

Спасибо.

1 Ответ

0 голосов
/ 22 сентября 2011

Есть пара решений. Во-первых, вы можете улучшить конструктор MyConst, чтобы он принимал Label.

Во-вторых, вы можете использовать шаблон имени. Например, если идентификатор метки всегда является объединением идентификатора текстового поля и, скажем, «Ошибка». Затем вы можете использовать comp.getFellow (comp.getId () + "Error") для получения метки.

Кроме того, вы можете использовать серверный компонентный селектор , чтобы получить метку.

...