A mi me encanta hablar de estos temas: http://jfromaniello.blogspot.com/2010/02/idataerrorinfo-service-locator-way.html
<http://jfromaniello.blogspot.com/2010/02/idataerrorinfo-service-locator-way.html>Yo registro un IEntityValidator<http://code.google.com/p/unhaddins/source/browse/trunk/uNhAddIns/uNhAddIns.Adapters/IEntityValidator.cs> (esto lo hizo y lo explicó Fabio Maulo aca<http://fabiomaulo.blogspot.com/2009/11/validation-abstraction-custom.html>) en mi container de IoC y luego lo accedo con ServiceLocator. En unhaddins tenemos muchas implementaciones de IEntityValidator (Castle Validations, Data Annotations, Validation Application Block etc) No me gusta en mi dominio tener referencias a NHV (que a su vez tiene referencias a NH). Respondiendo a tus preguntas: - Sigue la misma logica de validación en una aplicacion asp net mvc ? (validacion de mis entidades con nhv en mis controllers) Si, funciona exactamente igual. Si el model de asp.net mvc implementa IDataErrorInfo no hace falta nada más. Y acá hago una observación muy importante *OJO* con usar Entidades como ViewModels, no te recomiendo ese camino. Por otro lado, usando xVal podes hacer que tus validaciones esten en el lado del cliente también, javascript. > - Ya no requiero utilizar ModelState.IsValid ? Claro que lo tenes que usar, si tu Model implementa IDataErrorInfo, al preguntar ModelState.IsValid lo controla a través de los métodos de IDataErrorInfo - O requiero complementar la validacion como algo similar a esto if (ModelState.IsValid && employee.IsValid()) ? ModelState.IsValid alcanza. - Ya que estoy organizando mi aplicacion en n-layers y requiero utilizar nhv, me parece haber visto en el blog de Jose la forma de implentar una interface que sugiere Fabio para lograr este objetivo, pero no la encuentro http://fabiomaulo.blogspot.com/2009/11/validation-abstraction-custom.html La implementación IEntityValidator para NHV esta en unhaddins, mas concretamente aquí: http://code.google.com/p/unhaddins/source/browse/#svn/trunk/uNhAddIns/uNhAddIns.NHibernateValidator -- Para escribir al Grupo, hágalo a esta dirección: [email protected] Para más, visite: http://groups.google.com/group/NHibernate-Hispano
