如何在jqgrid的custom_func中显示自定义警报框

罂粟

我正在使用自定义函数来验证编辑时的输入。以下是一段代码。

editrules:{custom: true, custom_func: customValidation}


function customValidation(val, colname) {
        if (val.trim() == "") {
        return [ false,"name is required " ];
        } else {
        return [ true, "" ];
        }
          }

这可以正常工作,并且如果验证为假,它会显示警报。我想显示我的自定义警报框。

我尝试使用自定义提醒框,例如

showCustomBox('ERROR', 'Name is required! ',{title : 'Error: Edit xxx grid'});

 // where the function param means showCustomBox(type, message, heading);
   return[false, ""];

但这会显示我的警报以及默认警报。有没有办法在退货时使用oly自定义警报?请建议。提前致谢。

奥列格

jqGrid没有提供任何直接的方式来定制验证对话框。但是,可以做到一些技巧来实现您所需的东西。

首先,必须检查jqGrid如何实现自定义验证。jqGrid调用$.jgrid.checkValues以验证输入数据。该方法在需要时$.jgrid.checkValues调用custom_func(请参阅此处)。然后jqGrid调用here $.jgrid.info_dialog方法以显示错误消息。因此,例如可以将$.jgrid.info_dialog方法子类化,以按照我在答案中描述的方式显示自定义错误消息

我制作了演示该方法的演示。该演示在“名称”列中具有自定义验证。验证要求所保存的值必须以文本“ test”开头。我曾经alert显示自定义错误消息。以下是我在演示中使用的代码的主要部分:

var useCustomDialog = false, oldInfoDialog = $.jgrid.info_dialog;
...
$.extend($.jgrid,{
    info_dialog: function (caption, content, c_b, modalopt) {
        if (useCustomDialog) {
            // display custom dialog
            useCustomDialog = false;
            alert("ERROR: " + content);
        } else {
            return oldInfoDialog.apply (this, arguments);
        }
    }
});
...
$("#list").jqGrid({
    ...
    colModel: [
        { name: "name", width: 65, editrules: {
            custom: true,
            custom_func: function (val, nm, valref) {
                if (val.slice(0, val.length) === "test") {
                    return [true];
                } else {
                    useCustomDialog = true; // use custom info_dialog!
                    return [false, "The name have to start with 'test' text!"];
                }
            } } },
        ...
    ],
    ...
});

结果,如果有人尝试保存“ Clients”(“ name”)列的数据而不是以“ test”文本开头的数据,则jqGrid可能会显示以下错误消息

在此处输入图片说明

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在服务android中显示自定义警报对话框

如何在Android中使用网格视图创建自定义警报对话框?

如何自定义警报对话框,以使按钮适合警报对话框

当您导航到其他页面时,显示类似facebook的自定义警报框

如何在ionic 2中进行自定义警报?

Bootstrap 4-自定义警报弹出框

如何在Xamarin Android中基于设备的宽度和高度以编程方式创建自定义警报对话框?

如何关闭“自定义警报”对话框

JavaFx自定义警报阶段

在自定义警报对话框中获取单选按钮的值

如何在React Native中使用自定义警报?

如何在自定义警报对话框中刷新内容/ UI

Flutter-自定义警报对话框未显示

React-native中的自定义警报控件

jQuery中的自定义警报和确认框

创建自定义警报框时发生异常

Android中的“自定义警报”对话框

从Android中的ListView适配器启动自定义警报对话框

如何在bootstrap3模式框上显示我的自定义警报框?

无法显示/显示自定义警报

Android-如何在自定义警报对话框中检查按钮单击?

iOS 9中的自定义警报

在自定义警报对话框中从 Edittext 检索数据时显示空值?

如何在自定义警报对话框中将信息从活动传递到编辑文本

如何制作自定义警报对话框全屏

如何将自定义警报对话框中的项目添加到列表视图?

如何在 JavaScript 中自定义警报?

JavaScript 和 HTML 自定义警报框

asp.MVC 中的自定义警报消息