我有一个相当大的SmartGWT FilterBuilder实现,非常类似于Big Filter example in the SmartGWT showcase。FilterBuilder在底层使用一个RestDataSource,通过带有运算符和可用值的FormItem创建它的字段,其中一些是从服务器提取的,另一些是由客户端数据创建的(例如,带有来自ValueMap的选项的ComboBoxItem )。目前,我根据底层标准向服务器发出请求,这很好用。现在,我想防止查询按钮在FormItems中的值无效时执行它的onclick处理程序。我已经能够成功地将验证器添加到一些FormItem和DataSourceField中,并且我可以在GWT调试器中看到从CustomValidator的条件返回" invalid“,然而,当我调用filterBuilder.validate()时,我总是返回true (即使字段中有明显无效的值)。
怎么回事?如何在FilterBuilder上进行验证?
发布于 2012-08-25 05:02:44
FilterBuilder不会以内联方式显示验证错误(想想看--它是一个非常密集的组件,如果不让它看起来非常奇怪,就没有地方放置错误)。
大多数情况下,你不需要在过滤时进行验证。如果有人在数值字段中键入文本,将不会有任何结果,这是不言而喻的。验证是为了避免将错误数据保存到数据库中。
但是,如果您有一些不寻常的情况,最简单的方法是将其作为错误从服务器返回,并将其显示在筛选器界面旁边或网格上,例如在HTMLFlow中。
https://stackoverflow.com/questions/12102865
复制相似问题