有时,我们需要在基于jqgrid表格编辑行的单元格做规范验证。jqgrid提供有支持,通过设置字段的editrules属性来约束格式。
约束方式:
1、内置的约束参数 (required: true, number:true ...),详细参考:jqgrid editrules参数说明
2、自定义函数,验证约束 custom_func
示例:以下黄色字体为编辑的内容约束设定。
colModel: [
{
label: '领导打分',
name: 'MarkScore',
width: ,
editable: true,
editrules: { required: true, number: true, custom: true, custom_func: ValidateTvalue },
edittype: "text"
},
...
]
自定验证的函数内容可能如下:
//自定义验证 value=输入控件的值,name=列名称(来自colModel)
function ValidateTvalue(value,name) {
//#region 验证分数是否为数值
var regu = "^[0-9]+(.[0-9]{2})?$";
//var regu = "/^\+?(\d*\.\d{2})$/";
var re = new RegExp(regu);
if (re.test(value)) {
return [true, ""];
}
else {
return [false, "分数【" + rowDatas.MarkScore + "】错误,请输入数值型.如:12或12.23"];
}
//#endregion
}
函数的返回值说明:
用[]阔起,第一个代表是否通过,第二个参数代表未/通过时弹出的提示信息。
1)如果验证通过,返回方式:return [true, ""];
2)如果验证失败,返回方式:return [false, "分数【" + rowDatas.MarkScore + "】错误,请输入数值型.如:12或12.23"];