/// <summary> /// Valida uma propriedade de um objeto /// </summary> /// <param name="targetObject">Objeto alvo</param> /// <param name="propertyName">Nome da propriedade</param> /// <param name="propertyValue">Valor da propriedade</param> /// <param name="validationResult">Objeto aonde o resultado da validação será anexado</param> public void ValidateProperty(IStateControl targetObject, string propertyName, object propertyValue, ref ValidationResult validationResult) { }
/// <summary> /// Aplica a validação. /// </summary> /// <param name="validation">validação</param> /// <param name="propertyName">Nome da propriedade</param> /// <param name="propertyLabel">Label da propriedade.</param> /// <param name="targetObject">objeto alvo</param> /// <param name="propertyValue">valor da propriedade alvo</param> /// <param name="validationResult">resultado</param> private static void ApplyValidation(IValidator validation, string propertyName, IPropertyLabel propertyLabel, IStateControl targetObject, object propertyValue, ref ValidationResult validationResult) { if (validation == null) { return; } if (validationResult == null) { validationResult = new ValidationResult(); } validation.DoValidate(targetObject, propertyName, propertyLabel, propertyValue, validationResult, null); }
/// <summary> /// Valida um objeto /// </summary> /// <param name="targetObject">Objeto a ser validado</param> /// <param name="validationResult">Objeto aonde o resultado da validação será anexado</param> public void Validate(IStateControl targetObject, ref ValidationResult validationResult) { }
/// <summary> /// Valida uma propriedade de um objeto /// </summary> /// <param name="propertyValue">Valor da propriedade</param> /// <param name="propertyName">Nome da propriedade</param> /// <param name="targetObject">Objeto alvo</param> /// <param name="validationResult">Objeto aonde o resultado da validação será anexado</param> public virtual void ValidateProperty(IStateControl targetObject, string propertyName, object propertyValue, ref ValidationResult validationResult) { targetObject.Require("targetObject").NotNull(); propertyName.Require("propertyName").NotNull().NotEmpty(); var statebleItem = targetObject.InstanceState[propertyName]; if (statebleItem != null && statebleItem.Validation != null) { ApplyValidation(statebleItem.Validation, propertyName, statebleItem.Label, targetObject, propertyValue, ref validationResult); } }