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.