如何取消RESTier中未通过自定义验证逻辑的实体的更新?

时间:2016-05-02 12:47:03

标签: restier

我正在使用RESTier 0.4.0-rc2。

使用OnUpdating ...如果实体未通过我的自定义验证逻辑,我无法取消更新,并返回自定义错误。

使用CanUpdate ...我可以通过返回false取消更新,但是没有传入实体来应用我的自定义逻辑,也无法提供自定义错误。

似乎是一个根本性的缺陷,我错过了什么?

1 个答案:

答案 0 :(得分:0)

即使你已经有了答案,我也愿意为其他人提供答案。

  

如果您想要一些自定义逻辑进行更新验证,您可以   实现一个类实现接口IChangeSetEntryValidator,   验证您想要的任何逻辑,然后添加像

这样的逻辑
DataModificationEntry dataModificationEntry = entry as DataModificationEntry;
var entity = dataModificationEntry.Entity;

 // Customized validate logic and if error, add a error validation result.
validationResults.Add(new ChangeSetValidationResult()
{
    Id = dataModificationEntry.EntitySetName+ dataModificationEntry.EntityKey,
    Message = "Customized error",
    Severity = ChangeSetValidationSeverity.Error,
    Target = entity
});

您可以在here

找到完整的讨论