コード内のアイテムを検証する方法

アイテム名からスペースを削除しても表示名に残すために item:created イベントのイベントハンドラを作成しましたが、問題は2つのアイテムを作成すると私はいくつかの検証をトリガーしたいので、コンテンツエディタでユーザーはクイックアクションバーで検証結果を見ることができます。

自分のイベントを作成する前に、クイックアクションバーに壊れたリンクアイコンを表示するためにsitecoreが使用されていましたが、現在はそうではありません。コードから検証を呼び出すにはどうすればよいですか?

1

1 答え

ValidatorManager オブジェクトを使用して、コード内のバリデータ(またはバリデータ)を呼び出すことができるはずです。バリデータを表す項目と検証しようとしている項目を渡すと、バリデータを実行できるはずです。

var validatorItem = Sitecore.Data.Database.GetDatabase("master").GetItem("/sitecore/system/Settings/Validation Rules/Item Rules/Item/Duplicate Name");
var validator = ValidatorManager.BuildValidator(validatorItem, Sitecore.Context.Item);

validator.Validate(new ValidatorOptions(false));

if(!validator.IsValid)
{
    Response.Write("Error level: " + validator.Result.ToString() + "
"); Response.Write("Error Message: " + validator.Name + "
"); } else { Response.Write("All ok !"); }

この例は単一のバリデータを示していますが、マネージャはバリデータのコレクションもサポートしています。

If you are creating your own validator you can look here for a tutorial make sure you are inheriting from StandardValidator

うまくいけば良い答え:P

2
追加された
実際に質問に答えるために編集:)
追加された 著者 Stephen Pope,