Вы должны иметь возможность вызывать валидатор (или валидаторы) в коде, используя объект 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() + "<br />");
Response.Write("Error Message: " + validator.Name + "<br />");
}
else
{
Response.Write("All ok !");
}
В этом примере показан один валидатор, но менеджер также поддерживает коллекции валидаторов, просто немного покопайтесь в объекте:)
Если вы создаете свой собственный валидатор, вы можете найти здесь учебник , чтобы убедиться, что вы наследуете от StandardValidator
Надеюсь, лучший ответ: P