Валидация непустых полей

Оказывается, в Vaadin 6.7.8 невозможно валидировать текстовое поле на непустое значение. Можно пометить его как обязательное и тогда, вызывая метод commit этого поля, возникает исключение — com.vaadin.data.Validator.EmptyValueException. При этом, если поле размещается вручную, то визуально ошибку не будет видно. Имеется ввиду, что поле не является частью какой-нибудь стандартной формы фреймворка, типа com.vaadin.ui.Form.

Может это дефект, а может задумка, но как выход можно показать сообщение об ошибке в заранее определенном месте, например так: http://demo.vaadin.com/sampler#FormBasic. Для вывода сообщения можно использовать компонент com.vaadin.ui.Label. Вызов метода commit нашего поля надо поместить в блок try-catch. При возникновении исключения EmptyValueException вручную задать сообщение об ошибке используя метод setComponentError компонента label. Можно также добавить логику, которая покажет label с сообщением, когда произойдет ошибка, а в любом другом случае — скроет его.

Небольшой пример:
public class UserForm extends VerticalLayout {
    private TextField name;
    private Button apply;
    private Label error;

    public UserForm() {
        setSizeFull();
        setSpacing(true);

        name = new TextField("Name");
        name.setRequired(true);
        name.setRequiredError("Please enter a valid name");
        addComponent(name);

        error = new Label();
        error.setVisible(false);
        addComponent(error);

        apply = new Button("Apply");
        addComponent(apply);

        apply.addListener(new Button.ClickListener() {
            @Override
            public void buttonClick(Button.ClickEvent event) {
                try {
                    name.commit();
                } catch (Validator.InvalidValueException e) {
                    error.setCaption(e.getMessage());
                    error.setComponentError(e);
                    error.setVisible(true);
                }
                error.setVisible(false);
            }
        });
    }
}
Henri Sara объясняет причину: https://vaadin.com/forum/-/message_boards/view_message/365283