/// <summary> /// Aplica a validação. /// </summary> /// <param name="currentTarget"></param> /// <param name="propertyName"></param> /// <param name="propertyLabel"></param> /// <param name="objectToValidate"></param> /// <param name="validationResults"></param> /// <param name="messageProvider"></param> public void DoValidate(object currentTarget, string propertyName, IPropertyLabel propertyLabel, object objectToValidate, ValidationResult validationResults, IValidationMessageProvider messageProvider) { if (objectToValidate == null) { validationResults.Invalid(ValidationResultType.Error, ResourceMessageFormatter.Create(() => Properties.Resources.Validators_NotNullValidator_MessageTemplate, ((propertyLabel != null) && (propertyLabel.Title != null) && (!String.IsNullOrWhiteSpace(propertyLabel.Title.Format()))) ? propertyLabel.Title : propertyName.GetFormatter(), ValidatorsHelper.GetCurrentTargetName(currentTarget))); } }
/// <summary> /// Realiza a validação do objeto. /// </summary> /// <param name="currentTarget">Objeto Alvo da validação.</param> /// <param name="propertyName">Nome da propriedade que está sendo validada.</param> /// <param name="propertyLabel">Label da propriedade que está sendo validada.</param> /// <param name="objectToValidate">Valor a ser validado.</param> /// <param name="validationResults">Objeto com os resultados das validações.</param> /// <param name="messageProvider">Fluxo para a obtenção de mensagem de erro.</param> public void DoValidate(object currentTarget, string propertyName, Colosoft.Validation.IPropertyLabel propertyLabel, object objectToValidate, Colosoft.Validation.ValidationResult validationResults, Colosoft.Validation.IValidationMessageProvider messageProvider) { var input = (_test != null) ? objectToValidate as string : null; if ((input != null) && input.ValidateAlg(_test.Digits, _test.Start, _test.Limit, _test.Base)) { validationResults.Invalid(Colosoft.Validation.ValidationResultType.Error, ResourceMessageFormatter.Create(() => Properties.Resources.Validators_CheckDigitsValidator_MessageTemplate, ((propertyLabel != null) && (propertyLabel.Title != null) && (!String.IsNullOrWhiteSpace(propertyLabel.Title.Format()))) ? propertyLabel.Title : propertyName.GetFormatter(), ValidatorsHelper.GetCurrentTargetName(currentTarget))); } }
/// <summary> /// Realiza a validação do objeto. /// </summary> /// <param name="currentTarget">Objeto Alvo da validação.</param> /// <param name="propertyName">Nome da propriedade que está sendo validada.</param> /// <param name="propertyLabel">Label da propriedade que está sendo validada.</param> /// <param name="objectToValidate">Valor a ser validado.</param> /// <param name="validationResults">Objeto com os resultados das validações.</param> /// <param name="messageProvider">Fluxo para a obtenção de mensagem de erro.</param> public void DoValidate(object currentTarget, string propertyName, Colosoft.Validation.IPropertyLabel propertyLabel, object objectToValidate, Colosoft.Validation.ValidationResult validationResults, Colosoft.Validation.IValidationMessageProvider messageProvider) { if (_test != null) { var input = objectToValidate as String; var size = String.IsNullOrEmpty(input) ? 0 : input.Length; if ((size > 0) && ((_test.MinValue > size) || (_test.MaxValue < size))) { validationResults.Invalid(Colosoft.Validation.ValidationResultType.Error, ResourceMessageFormatter.Create(() => Properties.Resources.Validators_LengthValidator_MessageTemplate, ((propertyLabel != null) && (propertyLabel.Title != null) && (!String.IsNullOrWhiteSpace(propertyLabel.Title.Format()))) ? propertyLabel.Title : propertyName.GetFormatter(), ValidatorsHelper.GetCurrentTargetName(currentTarget))); } } }
/// <summary> /// Realiza a validação do objeto. /// </summary> /// <param name="currentTarget">Objeto Alvo da validação.</param> /// <param name="propertyName">Nome da propriedade que está sendo validada.</param> /// <param name="propertyLabel">Label da propriedade que está sendo validada.</param> /// <param name="objectToValidate">Valor a ser validado.</param> /// <param name="validationResults">Objeto com os resultados das validações.</param> /// <param name="messageProvider">Fluxo para a obtenção de mensagem de erro.</param> public void DoValidate(object currentTarget, string propertyName, Colosoft.Validation.IPropertyLabel propertyLabel, object objectToValidate, Colosoft.Validation.ValidationResult validationResults, Colosoft.Validation.IValidationMessageProvider messageProvider) { var input = objectToValidate as string; if ((_test != null) && (!String.IsNullOrEmpty(input)) && (!input.All(c => _test.ValidChars.Contains(c)))) { validationResults.Invalid(Colosoft.Validation.ValidationResultType.Error, ResourceMessageFormatter.Create(() => Properties.Resources.Validators_ValidCharsValidator_MessageTemplate, ((propertyLabel != null) && (propertyLabel.Title != null) && (!String.IsNullOrWhiteSpace(propertyLabel.Title.Format()))) ? propertyLabel.Title : propertyName.GetFormatter(), ValidatorsHelper.GetCurrentTargetName(currentTarget))); } }
/// <summary> /// Valida. /// </summary> /// <param name="currentTarget"></param> /// <param name="propertyName"></param> /// <param name="propertyLabel"></param> /// <param name="objectToValidate"></param> /// <param name="validationResults"></param> /// <param name="messageProvider"></param> public void DoValidate(object currentTarget, string propertyName, IPropertyLabel propertyLabel, object objectToValidate, ValidationResult validationResults, IValidationMessageProvider messageProvider) { var text = (objectToValidate ?? "").ToString(); if (_trimString) { text = text.Trim(); } if (text.Length > _length) { validationResults.Invalid(ValidationResultType.Error, ResourceMessageFormatter.Create(() => Properties.Resources.Validators_StringLengthValidation_MessageTemplate, ((propertyLabel != null) && (propertyLabel.Title != null) && (!String.IsNullOrWhiteSpace(propertyLabel.Title.Format()))) ? propertyLabel.Title : propertyName.GetFormatter(), ValidatorsHelper.GetCurrentTargetName(currentTarget))); } }
/// <summary> /// Realiza a validação do objeto. /// </summary> /// <param name="currentTarget">Objeto Alvo da validação.</param> /// <param name="propertyName">Nome da propriedade que está sendo validada.</param> /// <param name="propertyLabel">Label da propriedade que está sendo validada.</param> /// <param name="objectToValidate">Valor a ser validado.</param> /// <param name="validationResults">Objeto com os resultados das validações.</param> /// <param name="messageProvider">Fluxo para a obtenção de mensagem de erro.</param> public void DoValidate(object currentTarget, string propertyName, Colosoft.Validation.IPropertyLabel propertyLabel, object objectToValidate, Colosoft.Validation.ValidationResult validationResults, Colosoft.Validation.IValidationMessageProvider messageProvider) { if (_test != null) { var input = objectToValidate as string; if ((!String.IsNullOrEmpty(_test.FromValue)) && (_test.FromValue.CompareTo(input) > 0)) { validationResults.Invalid(Colosoft.Validation.ValidationResultType.Error, ResourceMessageFormatter.Create(() => Properties.Resources.Validators_RangeValidator_MessageTemplate, ((propertyLabel != null) && (propertyLabel.Title != null) && (!String.IsNullOrWhiteSpace(propertyLabel.Title.Format()))) ? propertyLabel.Title : propertyName.GetFormatter(), ValidatorsHelper.GetCurrentTargetName(currentTarget))); } else if ((!String.IsNullOrEmpty(_test.ToValue)) && (_test.ToValue.CompareTo(input) < 0)) { validationResults.Invalid(Colosoft.Validation.ValidationResultType.Error, ResourceMessageFormatter.Create(() => Properties.Resources.Validators_RangeValidator_MessageTemplate, ((propertyLabel != null) && (propertyLabel.Title != null) && (!String.IsNullOrWhiteSpace(propertyLabel.Title.Format()))) ? propertyLabel.Title : propertyName.GetFormatter(), ValidatorsHelper.GetCurrentTargetName(currentTarget))); } } throw new NotImplementedException(); }