JQGrid搜索规则和工具栏筛选错误

JQGrid搜索规则和工具栏筛选错误,jqgrid,filtering,Jqgrid,Filtering,我有一个工具栏过滤器,可以在我的JQGrid上运行。我们最近要求只允许整数进入这个字段。为了在搜索发生之前验证客户端,我更改了相应列的colModel。对javascript进行更改后,行为没有改变。无论输入如何,客户端似乎都不会进行验证,这让我相信我对搜索规则有误解。代码如下 先前的 colModel:[ ..., {name:'version', search:true, stype:'text'} ,...,] 变动后 colModel:[ .

我有一个工具栏过滤器,可以在我的JQGrid上运行。我们最近要求只允许整数进入这个字段。为了在搜索发生之前验证客户端,我更改了相应列的colModel。对javascript进行更改后,行为没有改变。无论输入如何,客户端似乎都不会进行验证,这让我相信我对搜索规则有误解。代码如下

先前的

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

colModel:[ ...,
                      {name:'version', search:true, stype:'text',searchrules:{required:true, integer:true}}
,...,]
搜索规则不适用于工具栏筛选吗?文档表明他们会的,除非我在什么地方漏掉了一行


谢谢你的关注

搜索规则将仅在搜索对话框中使用,而不会在搜索过滤器中使用。作为验证数据的变通回调函数。您可以分析
此.p.postData
。如果搜索数据错误,则应显示错误对话框,执行任何其他操作,如向输入中添加“ui状态错误”或“ui状态错误文本”,并返回
true
beforeSearch`处理程序返回true
值将阻止应用搜索请求。

搜索规则
将仅在搜索对话框中使用,而不会在搜索筛选器中使用。作为验证数据的变通回调函数。您可以分析
此.p.postData
。如果搜索数据错误,则应显示错误对话框,执行任何其他操作,如向输入中添加“ui状态错误”或“ui状态错误文本”,并返回
true
beforeSearch`处理程序返回true
值将阻止应用搜索请求。

我想我现在可以使用它了。只需获得相应的错误消息即可显示。谢谢无论搜索是否触发,是否调用afterSearch?据我所知,它确实存在,但我可能做错了。@Joseph:从中可以看出,jqGrid调用的当前代码
afterSearch
独立于从
beforeSearch
返回的值。无论如何,我有一个更好的解决方案,可以在过滤失败时显示和删除任何警告文本。如果我有时间的话,我今天晚些时候会更新我的解决方案。我正在使用搜索前选项,但是我在'this'对象中得到了整个表,你能建议一种验证方法吗?我的数据类型是本地的,
jQuery(#grid1”).jqGrid('filterToolbar',{stringResult:true,SearchOneNet:false,beforeSearch:function(data){console.log(this,data)})。触发器(“重新加载网格”)
@OlegI认为我现在可以使用它了。只需获得相应的错误消息即可。谢谢!无论搜索是否触发,afterSearch是否会被调用?从我所知,它会被调用,但我可能做错了什么。@Joseph:从中可以看出jqGrid调用的当前代码
afterSearch
indep依赖于从搜索前返回的值。
。无论如何,我有一个更好的解决方案,可以在过滤失败时显示和删除任何警告文本。如果有时间,我将在今天晚些时候更新我的解决方案。我使用搜索前选项,但我在“this”对象中获取整个表,您能为验证我的数据类型是本地的,
jQuery(#grid1”).jqGrid('filterToolbar',{stringResult:true,SearchOneNet:false,beforeSearch:function(data){console.log(this,data)})。触发器(“reloadGrid”)
@Oleg