SmartGWT FilterBuilder как DynamicForm?

У меня есть довольно большая реализация SmartGWT FilterBuilder, очень похожая на пример большого фильтра в витрине SmartGWT. FilterBuilder использует RestDataSource внизу для его создания поля через FormItem с операторами и доступными значениями, некоторые из которых извлекаются с сервера, а другие создаются с помощью данных на стороне клиента (например, ComboBoxItem с параметрами из ValueMap). В настоящее время я делаю запросы к серверу на основе основных критериев, и это работает нормально. Теперь я хочу, чтобы моя кнопка запроса не выполняла свой onclick обработчик, когда значения в FormItems недействительны. Мне удалось успешно добавить валидатор к некоторым FormItem и DataSourceField, и я вижу в отладчике GWT, что я получаю "недействительный", возвращаемый из состояния CustomValidator, но когда я вызываю filterBuilder.validate(), я всегда возвращаю true (даже с явно недопустимыми значениями в полях).

Что дает? Как я могу подтвердить FilterBuilder?


person blong    schedule 24.08.2012    source источник


Ответы (1)


FilterBuilder не отображает встроенные ошибки проверки (подумайте - это очень плотный компонент, и некуда вставлять ошибки, чтобы он не выглядел очень странно).

В большинстве случаев вам не нужно беспокоиться о проверке при фильтрации. Если кто-то вводит текст в числовое поле, результатов не будет, и это не требует пояснений. Проверка предназначена для предотвращения сохранения неверных данных в базе данных.

Но если у вас есть какое-то необычное состояние, проще всего вернуть его как ошибку с сервера и отобразить рядом с интерфейсом фильтра или над сеткой, например, внутри HTMLFlow.

person Bill Ellwood    schedule 24.08.2012