Comunidad para aprender y compartir conocimientos en programación
[ Entrar ] - [ Registrarse ]
1
+  -
*
(0)

Evitar atributos para validaciones en entidades con NHValidator

Hola muchachos, actualmente uso atributos en las clases de mis entidades, pero me gustaría apartar eso a otro lado. Se que es posible hacerlo por XML, pero existe otro método un poco mas dinámico para hacer esto?


Editado: 24 febrero 2010
Foto
Fabián
8
17 julio 2009
Foto
Fabian
7
0
+  -

Fabian existe API Fluent para nHValidator que te permite hacer eso, puedes escribir una clase de validacion para tu entidad de la siguiente forma:

using NHibernate.Validator.Cfg.Loquacious ;

namespace Validation
{
    public class MiEntidadValidation : ValidationDef<MiEntidad>
    {
        public RemesaValidation()
        {
            Define(x => x.Campo1).NotNullable();
            Define(x => x.Campo2).HasValidElements();
        }
    }
}

Luego puedes crear una sesion del ValidatorEngine de la siguiente forma:

var configure = new FluentConfiguration();                  
configure.Register(                      
    Assembly.GetAssembly(typeof(
    MiEntidadValidation ))                          
    .GetTypes().Where(t => t.Namespace.Equals("Validation"))                          
    .ValidationDefinitions())                      
    .SetDefaultValidatorMode(ValidatorMode.UseExternal);

//.SetMessageInterpolator<SpanishMessageInterpolator>();                        
var validator = new ValidatorEngine();                  
validator.Configure(configure);

Y con la instancia de tu ValidatorEngine puedes validar tu entidad de forma normal, sin necesidad de que tu entidad cuente con los atributos. En este post mi, hablo sobre TDD, pero el ejemplo es precisamente como mover una entidad de tener atributos de validacion a contar con una clase de Validacion: http://mario-chavez.blogspot.com/2009/03/devlab-tdd-pruebas-de-unidad.html

17 julio 2009
Foto
mario.chavez
0
0
+  -

Buenisimo Mario, es eso justamente lo que necesito

Gracias!

17 julio 2009
Foto
Fabian
7

Tu Respuesta

o

YoProgramo.NET es una comunidad para unir y ayudar a los programadores hispanos.

Aquí los desarrolladores pueden encontrar repuesta a sus dudas y colaborar con los demás, compartiendo sus conocimientos y experiencia.

Mensaje

Cerrar ventana