標籤:
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提供的表單驗證的規則,類似Regex。
參數介紹:
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的值,強烈推薦為所有的其他編輯元素都設定這些值。
jqGrid 表單驗證規則參數介紹-EditRules