如何在jqGrid的'action'格式化程序中定义'before save'回调?

时间:2011-12-15 15:12:28

标签: jquery jqgrid jqgrid-formatter

我正在使用内置的“动作”格式化程序来编辑内联(行编辑)和删除。

问题是我想通过ajax进行验证(因此,可以保存返回true字段)但是我无法在保存语句中添加任何“保存前”回调。

Image with an example of the view.

我用来定义Actions col的colModel:

{name: 'Actions', formatter: 'actions',
                  editable: false,
                  search: false,
                  width: '50',
                  sortable: false,
                  resizable: false,
                  formatoptions:{
                      keys:true
                  }
}

1 个答案:

答案 0 :(得分:0)

在actions格式化程序的参数列表中,您可以定义onError回调函数(请参阅the answer)。在保存数据期间出现任何类型错误时,服务器返回一些错误状态代码非常重要。将要发送的数据的验证是此类错误的一个示例。

更新:答案非常陈旧。内联编辑支持beforeSaveRow很长一段时间(正弦版本为4.5.3)。然而,回调提供客户端验证。问题是关于服务器端验证通过Ajax请求到服务器。在这种情况下onError仍然是唯一的好方法。服务器只需要设置对应HTTP错误(> = 400)的HTTP状态代码。仅当服务器无法设置HTTP错误代码时,才能使用successfunc回调alternatively, which corresponds onSuccess in格式化程序:“actions”。如果验证错误,回调应返回[false, "error description"]