2009-12-21 44 views
2

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

+0

jQuery验证是否能够验证任意DOM元素(非输入/文本/选择)?如果是+你展示了我应该怎么猜测 – jitter 2009-12-21 18:45:49

+0

你可以使用JQGrid的jQuery验证,但是有一些注意事项。 一个问题是,jQuery验证会在您正在编辑的字段旁边添加错误消息,并且由于JQGrid的布局方式,您看不到错误消息。 另一个问题是,即使您的验证有效,JQGrid在完成编辑时会将单元恢复为原始状态。所以如果用户犯了一个错误,他们将不得不重新开始。 – 2009-12-23 17:42:22

回答

4

编辑内联和验证可能与此步骤。

写您的功能突出和unhilight您的输入框:

​​

扩展的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] } }"} 

这一切!