使用JQGrid的jQuery Validation插件?

时间:2009-12-21 01:56:13

标签: jquery validation jqgrid

有没有人成功使用jQuery Validation plugin和JQGrid?我意识到JQGrid有自己的验证方案,但它有限且有点笨拙;而且我更愿意重复使用我正在使用的验证用户界面,语言和规则。

1 个答案:

答案 0 :(得分:4)

使用此步骤可以编辑内联和验证。

编写您的功能以突出显示和取消输入框:

GridErrorHighlight = function(el, er, ev) {
    $(el)
        .addClass('ui-state-error')
    .parent()
        .addClass('ui-state-error');
}

GridErrorUnHighlight = function(el, er, ev) {
    $(el)
        .removeClass('ui-state-error')
    .parent()
       .removeClass('ui-state-error');
}

扩展jqgrid:

; (function($) {
    $.jgrid.extend({
        onErrorHighlight: GridErrorHighlight,
        onUnHighlight: GridErrorUnHighlight,
    });
})(jQuery);

现在jQuery验证插件很容易使用您的自定义函数。只需创建此选项并初始化验证插件:

var table = $('#tableid').jqGrid({});

var validateOpt = {
        meta: "validate",
        highlight: table.onErrorHighlight,
        unhighlight: table.onUnHighlight
    };

$(document).ready(function() {
    $('#formId').validate(val);
});

现在很容易为单个输入单元设置验证器。 我们在模型中使用jqGrid EditOptions来添加自定义类以进行验证:

"editoptions":{"class":" {validate: { range:[0,1] } }"}

就是这样!