有时,我们需要在基于jqgrid表格编辑行的单元格做规范验证。jqgrid提供有支持,通过设置字段的editrules属性来约束格式。
约束方式:
1、内置的约束参数 (required: true, number:true ...),详细参考:jqgrid editrules参数说明
2、自定义函数,验证约束 custom_func
示例:以下黄色字体为编辑的内容约束设定。
colModel: [ { label: '领导打分', name: 'MarkScore', 150, 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"];