我有一个工具栏过滤器设置,可以在我的JQGrid上运行。我们最近要求只允许整数进入该字段。我更改了相应列的colModel,以便在搜索发生之前验证客户端。在对javascript进行更改后,行为没有改变。无论输入如何,验证似乎都不会发生在客户端,这让我相信我对搜索规则有误解。代码
上
colModel:[ ...,
{name:'version', search:true, stype:'text'}
,...,]
更改后
colModel:[ ...,
{name:'version', search:true, stype:'text',searchrules:{required:true, integer:true}}
,...,]
搜索规则不适用于工具栏过滤吗?文档表明他们会,除非我在某处错过了一条线。
感谢您的期待!
答案 0 :(得分:5)
searchrules
仅用于搜索对话框,但不会用于搜索过滤器。作为解决方法beforeSearch回调函数用于验证数据。您可以分析this.p.postData
。如果搜索数据错误,则应显示错误对话框,执行任何其他操作,例如将“ui-state-error”或“ui-state-error-text”添加到输入并使用错误数据并返回true
。 Returning
true value from the
beforeSearch`处理程序将阻止应用搜索请求。