El cambio de XVal a NHibernate Validación
-
16-09-2019 - |
Pregunta
Tengo un proyecto ASP.NET MVC con XVal y anotaciones de datos y necesito cambiar a NHibernate validación. Con anotaciones de datos que tenía un DataAnnotationsValidationRunner
y que estaba haciendo algo como esto:
var errors = DataAnnotationsValidationRunner.GetErrors(this).ToList();
if (errors.Any())
throw new RulesException(errors);
¿Cómo se hace eso con nHibernate.Validator?
Actualización: vi algo como esto:
var engine = new ValidatorEngine();
var errors = engine.Validate(objstovalid)
pero no puedo hacer
if (errors.Any())
throw new RulesException(errors);
porque los errores no es del tipo correcto (xVal.ServerSide.ErrorInfo
).
Solución
Por lo que yo sé XVal utiliza para provice un corredor de NHibernate validación, pero sólo funcionaba en una versión anterior. Que yo sepa no hay ningún corredor disponible para la versión actual NHV.
Justo aclarar, ¿todavía desea utilizar XVal? Si no, entonces ignorar lo anterior, y ejecutar la validación de NHV como esto:
var validator = new ValidatorEngine();
InvalidValue[] values = validator.Validate(theEntityYouWantToValidate);