2012-01-25 48 views
1

我有一個工具欄過濾器設置工作在我的JQGrid上。我們最近得到了只允許整數進入這個領域的要求。爲了在搜索之前驗證客戶端,我更改了適當列的colModel。對javascript進行更改後,行爲沒有改變。驗證似乎不會發生在客戶端,無論輸入如何,這導致我相信我對搜索規則有誤解。下面JQGrid搜索規則和工具欄過濾錯誤

上一頁

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

後變更

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

做好搜索規則的代碼並不適用於工具欄過濾?文件表明他們會,除非我在某處丟失一條線。

感謝您的期待!

回答

5

searchrules將僅用於搜索對話框,但不用於搜索過濾器。解決方法beforeSearch用於驗證數據的回調函數。您可以分析this.p.postData。如果搜索數據錯誤,則應顯示錯誤對話框,執行任何其他操作,例如將「ui-state-error」或「ui-state-error-text」添加到輸入錯誤的數據並返回trueReturning true value from the beforeSearch`處理程序將阻止應用搜索請求。

+0

我想我現在有工作。只需要獲取相應的錯誤消息即可顯示。謝謝! – Joseph

+0

@約瑟夫:不客氣! – Oleg

+0

無論搜索是否被觸發,afterSearch都會被調用嗎?從我可以告訴它,但我可能做錯了什麼。 – Joseph

相關問題