Vaadin, как изменить функциональность проверки по умолчанию - PullRequest
2 голосов
/ 23 августа 2011

Я использую vaadin в среде портлетов, где у нас есть особый внешний вид и поведение проверки.

Когда поля ввода имеют недопустимые значения,

  1. их границы становятся красными.
  2. Все сообщения об ошибках (в виде ссылки) отображаются выше или ниже в общем месте.
  3. Нажатие на конкретную ошибку приводит к фокусировке курсора и переходу к соответствующему полю.

Так, как мне добиться этой функциональности и что мне нужно изменить и изменить.

1 Ответ

3 голосов
/ 30 августа 2011

Для вашей точки # 1, вам нужно создать тему.Чтобы сделать это, я предлагаю вам прочитать Книгу Ваадина главы 5 и 8.

Глава 5 объясняет компонент пользовательского интерфейса и стиль CSS, связанный с ними.В главе 8 объясняется, как наследовать тему css.

Для пункта № 2 необходимо добавить макет на страницу, и для каждого сообщения вы создадите кнопку и создадите ее стиль, как веб-ссылку.

Button button = new Button("Your error message");
button.setStyle(BaseTheme.BUTTON_LINK);
errorLayout.addComponent(button);

Для пункта № 3 добавьте прослушиватель к ссылке на кнопку, и при нажатии фокусируйте компонент по ошибке.Таким образом, предыдущий код теперь будет выглядеть так:

Button button = new Button("Your error message");
button.setStyle(BaseTheme.BUTTON_LINK);
button.addListener(new Button.ClickListener(){
   public void buttonClick(ClickEvent event){
   // Replace componentInError by the associated component of the link.
   componentInError.focus();
   }
}
errorLayout.addComponent(button);

С уважением.Éric

...