Pregunta

Estoy tratando de decidir qué enfoque de validación de tomar para un nuevo proyecto de ASP.NET MVC. (Y vaya que hay un montón de opciones!)

El proyecto utiliza NHibernate, así que lo primero que consideré fue el NHibernate Validator (Debido a la estrecha integración con NHibernate). Sin embargo, por lo que yo puedo ver que sólo hay un par de beneficios a esta estrecha integración:

1) DB esquemas generados por NHibernate incluirá detalles de validación (por ejemplo, longitudes de columna se establecerán en valor máximo permitido en la validación). (Esto no es realmente de interés para mí, sin embargo, como genero esquemas manualmente.)

2) NHibernate será una excepción si se intenta guardar datos que no cumplen con las especificaciones de validación. (Esto parece bastante redundante para mí, ya que los datos de suponer que ya serán validados por cualquier mecanismo que elija antes de guardar todos modos)

Si hay más beneficios a NHibernate Validator favor hágamelo saber!

Otras bibliotecas que he estado leyendo un poco sobre incluyen:

  • MS DataAnnotations
  • Castillo Validador
  • Algo más?

También he estado pensando acerca del uso de XVal para proporcionar validación del lado del cliente desde el mismo conjunto de reglas. Sin embargo, he oído que ASP.NET MVC V2 incluirá algo similar a XVal (integración con jQuery) fuera de la caja? Será esta nueva funcionalidad incluida rendir algunos de los demás redundantes?

Así que, básicamente estoy pidiendo consejos de la gente en la dirección a seguir aquí. No quiero poner en práctica un esquema particular, sólo para tener que arrancarlo cuando otro se convierte en la tecnología dominante.

Lo que ha funcionado para usted? ¿Qué opción que creo que tiene / tendrá el borde?

Gracias!

¿Fue útil?

Solución

He estado usando FluentValidation junto con la validación de jQuery plugin y todavía no puede encontrar una situación que no puede manejar.

Otros consejos

XVal .

Se puede implementar fácilmente la validación del cliente y el servidor con él. También hay soporte para la columna (propiedad) de validación de las entidades que le gustaría utilizar.

Usted podría estar interesado en este enfoque delegado . Yo era porque no me gustaba la idea XVal (la solución im pasando actualmente con) y el hecho de que no parecía para atender casos de validación complejas que cruzaron varias propiedades de los mismos o incluso diferentes estructuras de clase.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top