如何在jqgrid中实现行级验证

如何在jqgrid中实现行级验证,jqgrid,Jqgrid,在保存更改的行之前,需要调用自定义函数以验证保存的可能性 若此自定义函数返回false,则应取消行保存,并且行应保持编辑模式,以便 该错误可以更正并再次保存 如何在内联和表单编辑模式下验证行? 我没有找到任何行级验证函数。我应该向列添加自定义验证函数以进行验证吗 行还是有更好的解决方案?如果我理解您的正确性,您应该使用自定义验证 有关代码示例,请参见 jqGrid只有单元级验证,但取决于如何使用内联编辑(例如,一次只有一行处于编辑模式),您可以从整个编辑行获取数据。你有很多选择。例如,您可以手动

在保存更改的行之前,需要调用自定义函数以验证保存的可能性

若此自定义函数返回false,则应取消行保存,并且行应保持编辑模式,以便 该错误可以更正并再次保存

如何在内联和表单编辑模式下验证行? 我没有找到任何行级验证函数。我应该向列添加自定义验证函数以进行验证吗
行还是有更好的解决方案?

如果我理解您的正确性,您应该使用自定义验证

有关代码示例,请参见


jqGrid只有单元级验证,但取决于如何使用内联编辑(例如,一次只有一行处于编辑模式),您可以从整个编辑行获取数据。你有很多选择。例如,您可以手动获取行数据,也可以为所有感兴趣的列定义验证规则,在第一列的验证中,您只需在外部对象的属性中保存
,在最后一个验证函数中,您可以访问所有保存的数据以进行实际行验证。

验证用于将未保存的标题数据发送到服务器,该数据需要在保存细节之前或与细节一起保存。我尝试了
editrules={custom=true,custom_func=function(value,colname){if(!SaveHeader())返回[false',];else返回[true',];}
。On error SaveHeader打印错误消息并返回false。但是,即使custom_func返回[false',,jqGrid仍会打印错误消息。如何抑制此错误消息或至少打印错误消息中的列值?还是更好/如何将表单数据与行数据一起发送到服务器中的编辑/添加方法?@Andrus:客户端验证正是为了在数据错误的情况下向用户显示消息,所以我不明白您为什么尝试使用
[false',]
SaveHeader
不应显示任何消息,但会返回给您,
custom_func
应将消息作为数组的第二个元素返回。谢谢。两个问题:1。jqGrid在消息本身的开头打印列值。。这个值与行验证错误无关,所以我正在寻找一种方法来丢弃它。2.jqGrid错误消息出现在模式对话框中。SaveHeader()将无模式错误消息添加到屏幕中,我正在寻找一种处理此类消息的方法。@安德鲁斯:在表单编辑的情况下,您可以在提交之前在
中轻松实现您想要的内容,但在内联编辑的情况下,您无法实现您的要求。内联编辑使用该行将列的名称添加到消息中,并直接在中的语句后显示消息。因此,您必须更改jqGrid代码以实现您的需求。我看不到其他简单的解决方法。谢谢。我标出了你的答案并投了赞成票。我可以接受内联编辑验证打印的伪行值
editrules: {
    custom:true,
    custom_func: function(value,colname) {
        // return [true,""] in case of successful validation
        // [false,"Your error message"]; in case of validation error
    }
}