Ошибка поиска в правилах поиска и панели инструментов JQGrid - PullRequest
1 голос
/ 25 января 2012

У меня есть фильтр панели инструментов, который работает на моей JQGrid.Недавно мы получили требование разрешать в эту область только целые числа.Я изменил colModel соответствующего столбца, чтобы проверить клиентскую часть до начала поиска.После внесения изменений в JavaScript, поведение не изменилось.Проверка, по-видимому, не происходит на стороне клиента независимо от ввода, что заставляет меня поверить, что я неправильно понимаю правила поиска.Код ниже

Предыдущий

colModel:[ ...,
                      {name:'version', search:true, stype:'text'}
,...,]

Опубликовать изменение

colModel:[ ...,
                      {name:'version', search:true, stype:'text',searchrules:{required:true, integer:true}}
,...,]

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

Спасибо за внимание!

1 Ответ

5 голосов
/ 26 января 2012

searchrules будет использоваться только в диалоге поиска, но не в фильтре поиска. В качестве обходного пути beforeSearch используется функция обратного вызова для проверки данных. Вы можете проанализировать this.p.postData. Если данные поиска неверны, вы должны отобразить диалоговое окно ошибки и выполнить любые другие действия, такие как добавление 'ui-state-error' или 'ui-state-error-text' к вводу с неверными данными и возврат true. Returning true value from the beforeSearch` обработчик предотвратит применение поисковых запросов.

...