colModel : [ {name:'id',index:'id',width:55,editable:false,editoptions:{readonly:true,size:10}}, {name:'invdate',index:'invdate',width:80,editable:true,editrules:{required:true}} ]
editrules,是做爲jqGrid提供的表單驗證的規則,相似正則表達式。
參數介紹:
edithidden:只在Form Editing模式下有效,設置爲true,就可讓隱藏字段也能夠修改。
required:設置編輯的時候是否能夠爲空(是不是必須的)。
number:設置爲true,若是輸入值不是數字或者爲空,則會報錯。
integer:是否整數
minValue:最大值
maxValue:最小值
email:是否合法的郵件
url:檢查是否是合法的URL地址。
date:
time:
custom:設置爲true,則會經過一個自定義的js函數來驗證。函數定義在custom_func中。
custom_func:傳遞給函數的值一個是須要驗證value,另外一個是定義在colModel中的name屬性值。函數必須返回一個數組,一個是驗 證的結果,true或者false,另一個是驗證錯誤時候的提示字符串。形如[false,」Please enter valid value」]這樣。
自定義驗證的例子:
<script>
function mypricecheck(value, colname) {
if (value < 0 && value >20)
return [false,"Please enter value between 0 and 20"];
else
return [true,""];
}正則表達式
jQuery("#grid_id").jqGrid({
...
colModel: [
...
{name:'price', ..., editrules:{custom:true, custom_func:mypricecheck....}, editable:true },
...
]
...
});
</script>
數組
formoptions(只在Form Editing方式下有效),他的主要做用是用來從新排序Form中的編輯元素,同時能夠在編輯元素前或者編輯元素後增長一些信息(好比,一些提示信息,或者一個紅色的*表示必需要填寫等等)。
可選的屬性以下:
elmprefix:字符串值,若是設置了,則會在編輯框以後出現一些內容(多是HTML的內容)
elmsuffix:字符串值,若是設置了,則會在編輯框以前出現一些內容(多是HTML的內容)
label:字符串值,若是設置了,則這個值會替換掉colNames中的值出現做爲該編輯框的標籤顯示
rowpos:數字值,決定元素行在Form中的位置(相對於文本標籤again with the text-label)
colpos:數字值,決定元素列在Form中的位置(相對於標籤again with the label)
兩個編輯框能夠有相同的rowpos值,可是colpos值不一樣,這會把這兩個編輯框放到Form的同一行中。
特別注意:若是設置了rowpos以及colpos的值,強烈推薦爲全部的其餘編輯元素都設置這些值。函數