3

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

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

带有视图示例的图像。

我用来定义 Actions col 的 colModel:

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

1 回答 1

0

在操作格式化程序的参数列表中,您可以定义onError回调函数(参见答案)。重要的是服务器返回一些错误状态代码,以防在保存数据期间出现任何类型的错误。将发送的数据的验证是此类错误的示例之一。

更新:答案很老了。beforeSaveRow长期以来一直支持内联编辑(正弦版本 4.5.3)。然而,回调提供客户端验证。问题是关于通过对服务器的 Ajax 请求进行的服务器端验证。在这种情况下onError几乎仍然是做到这一点的唯一好方法。服务器只需设置对应 HTTP 错误 (>=400) 的 HTTP 状态码。只有当服务器无法设置 HTTP 错误代码时,才能使用successfunc回调alternatively, which correspondsonSuccessin格式化程序:“actions”。回调应[false, "error description"]在验证错误的情况下返回。

于 2011-12-15T23:07:09.777 回答