2012-10-30 44 views
0

我有一個datagrid包含來自不同文檔的數據。用戶可以編輯一些列。我想限制他們只能輸入一個數字。 我想從客戶端而不是服務器端做到這一點,因爲這意味着檢查20個或更多的文件。如何將驗證添加到Ext Lib數據網格中的單元格?

好的想通了怎麼辦。如果數據輸入非數字或無效值,則創建一個用紅色背景格式化數據的函數。把功能的腳本塊,並把名稱格式字段爲每列

function ValidNmbr(s) 
{ 
var RegularExpression = new RegExp(/^\$?([1-9]{1}[0-9]{0,2}(\,[0-9]{3})*(\.[0-9]{0,2})?|[1-9]{1}[0-9]{0,}(\.[0-9]{0,2})?|0(\.[0-9]{0,2})?|(\.[0-9]{1,2})?)$/);<br/> 
if(RegularExpression.test(s)) 
{ 
    return s; 
} 
else { 
    return "<span style='background-color:red'>"+s+"</span>"; 
} 
} 
+0

如何實現數據網格?使用數據表? – stwissel

+0

這是xpage ext庫的dojo數據網格,其中包含restservice視圖。查看格式化程序以查看有關突出顯示錯誤的信息。這是用於費用報告,所以在他們進入後進行驗證,但是想要防止延遲。 – Kalechi

+0

Dojo網格[有數據類型](http://dojotoolkit.org/documentation/tutorials/1.6/working_grid/),因此它處理數字條目 – stwissel

回答

0

客戶端格式的執法可以繞過(有螢火蟲的人),所以你必須要清楚它只是爲用戶的舒適度,而不是數據的完整性。

在服務器端:您可以有一個帶數字掩碼的輸入字段。無需代碼 - 可能是最少的工作。如果你想這樣做客戶端:

  1. 使用HTML5屬性的數字格式
  2. 使用some helper做舊的瀏覽器的行爲
  3. 考慮使用Dojo網格。它確實不錯validation

希望幫助

相關問題