我有一个相当大的SmartGWT FilterBuilder
实现,非常类似于Big Filter example in the SmartGWT showcase。 FilterBuilder
使用下面的RestDataSource
通过FormItem
创建带有运算符和可用值的字段,其中一些是从服务器提取的,另一些是由客户端数据创建的(即ComboBoxItem
,其中包含来自ValueMap
的选项。我目前根据基础标准向服务器发出请求,并且工作得很好。现在,当FormItems中的值无效时,我想阻止我的查询按钮执行它的onclick
处理程序。我已经能够成功地将Validator添加到一些FormItem
和DataSourceField
中,我可以在GWT调试器中看到我从CustomValidator
'返回“无效”条件,然而,当我致电filterBuilder.validate()
时,我总是回来true
(即使字段中的值无效,也是如此)。
是什么给出的?如何验证FilterBuilder
?
答案 0 :(得分:0)
FilterBuilder不会内联显示验证错误(想想看 - 它是一个非常密集的组件,没有它看起来非常奇怪的情况下无处可去。)
过滤时,大多数情况下您不需要费心去验证。如果有人将文本键入数字字段,则不会有任何结果,这是不言自明的。验证是为了避免将错误数据保存到数据库中。
但是如果你有一些不寻常的情况,最简单的方法是将它作为错误从服务器返回,并将其显示在过滤器界面旁边或网格上,例如HTMLFlow中。