2016-05-02 1 views
0

私はRESTier 0.4.0-rc2を使用しています。カスタム検証ロジックに失敗したRESTierのエンティティの更新をキャンセルするにはどうすればよいですか?

OnUpdatingを使用すると、エンティティがカスタム検証ロジックに失敗した場合、更新をキャンセルしてカスタムエラーを返す方法がありません。

With CanUpdate ...私はfalseを返すことで更新を取り消すことができますが、カスタムロジックを適用するためのエンティティが渡されず、カスタムエラーを提供する方法もありません。

基本的な欠陥のようですが、何か不足していますか?

答えて

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

+0

インターフェイスはIChangeSetItemAuthorizer、IChangeSetItemValidator、IChangeSetItemProcessor 0.5.0になります。 –

関連する問題