检查Vaadin和Java中的必填字段

时间:2018-05-22 13:19:34

标签: java validation vaadin

我已经为许多输入元素附加了一个监听器,这些输入元素在执行时运行fun convert - 方法,该方法检查是否有任何字段为空,然后根据结果显示按钮。我的问题是,有时请求需要很长时间或挂起。所以我有这样的假设:它是对checkButton(); - 方法的多次调用,这是原因。

如何将多个checkButton(); - 方法的调用合并为一个?有推荐的方法吗?

checkButton();

1 个答案:

答案 0 :(得分:0)

不幸的是,我认为没有。 Vaadin在设计的简洁性方面非常棒,但它并非(并且从未如此)非常高效。 BE呼叫的数量是压倒性的(只需检查Chrome中的网络调试工具,看看我是多么正确)你可以做的是编写自己的容器/布局实现(对不起,如果我不准确,它&#39自从我在客户端使用验证逻辑触及Vaadin以来已经有一段时间了,并且附加了一个监听器,但是不必这样做是首先使用Vaadin的原因;)

另外,为什么不使用内置required属性?这将为您处理大部分验证。特别是如果您将所有组件绑定到FieldGroup,则可以通过单个fieldGroup.validate()调用执行验证。如果需要其他验证器,您只需使用Component#addValidator()

即可

编辑: 顺便说一下,这只是一个预感你有没有,或者你真的试过调试看看会发生什么?

EDIT2: 哦,我刚注意到,你在每次单一字段编辑后检查所有字段 - 为什么要这样做?而不是添加ValueChangeListener尝试使用Validator s,这是他们的目标!如果您希望它们实时工作,您可以使用Component#setImmediate