如何仅在BeanFieldGroup的提交时显示错误?

时间:2014-05-20 07:32:36

标签: java vaadin vaadin7

我有一个BeanFieldGroup有几个验证器,还有一个Save按钮提交表单。 但是如果我在我的实体上有例如@NotBlank验证约束,并且输入字段默认为空,那么我在显示表单时最初会得到一个错误图标。

  • 我该如何防止这种情况?
  • 如果提交时出现任何验证错误,我该如何再次显示图标?
  • 检查BeanFieldGroup是否有任何验证错误?
public class UserView {
    private BeanFieldGroup<User> editor;
    private Button saveBtn;

    public UserView() {
        saveBtn = new Button("Save", new ClickListener() {
            @Override
            public void buttonClick(ClickEvent event) {
                try {
                    editor.commit();
                } catch (CommitException e) {
                    e.printStackTrace();
                }
            }
        });
    }
}

1 个答案:

答案 0 :(得分:1)

为了检查错误,有isValid https://vaadin.com/api/7.2.0/com/vaadin/data/fieldgroup/FieldGroup.html#isValid%28%29(参见实现:它迭代字段并调用或多或少的验证)。如果你需要这些错误,你可以在那里找到它们。在提交之后,您还可以在对象本身上再次使用javax.validation机制。

隐藏您可以使用AbstractField s'setValidationVisible方法播放的错误。