jqgrid 对编辑行填写的内容做格式验证

有时,我们需要在基于jqgrid表格编辑行的单元格做规范验证。jqgrid提供有支持,通过设置字段的editrules属性来约束格式。

约束方式:

1、内置的约束参数 (required: true, number:true ...),详细参考:jqgrid editrules参数说明

2、自定义函数,验证约束 custom_func


 

示例:以下黄色字体为编辑的内容约束设定。

colModel: [            
     {
         label: '领导打分',
         name: 'MarkScore',
         width: 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"];

posted on 2017-10-11 20:37  儿时精神  阅读(6456)  评论(0编辑  收藏  举报

导航