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