RuleSet en Validation Application Block

Despues de un tiempo sin escribir, debido a unas merecidas vacaciones y al exceso de trabajo generado por las vacaciones, vuelvo a la carga, esta vez con una caracteristica que nos trae Validation Application Block de Enterprise Library 3.0.

Hay muchas veces que las validaciones de la entidad de negocio no son iguales en toda nuestra aplicación y que requieren reglas diferentes, para solucionar esto los chicos de Enterprise Library nos han creado RuleSet que me permite poner atributos de validación que se validarán asociados a una regla que yo defina. El ejemplo seria

 

public class Subscriber
{
    private string _name;

    [NotNullValidator(Ruleset="Persistence")]
    [StringLengthValidator(1,200)]
    public string Name
    {
        get { return _name; }
        set { _name = value; }
    }

    private string _emailAddress;

    [NotNullValidator(Ruleset="Persistence")]
    [EmailAddressValidator]
    public string EmailAddress
    {
        get { return _emailAddress; }
        set { _emailAddress = value; }
    }

    public Subscriber() {}
}

En este caso hemos definido la regla Persistence, para validar la entidad de negocio asociada a esta regla

, es tan sencillo como

 

Validation.Validate(subscriber, "Persistence");

o

 

IValidator<Subscriber> subscriberValidator =
  ValidationFactory.CreateValidator<Subscriber>
  ("Persistence");
ValidationResults results = subscriberValidator.
  Validate(subscriber);

Como podemos ver nos va a permitir tener centralizadas todas las validaciones de una entidad de negocio, de manera que el mantenimiento se facilita enormemente y la facilidad de programarlas tambien.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *