2012-02-10 15 views
5

Realmente me acostumbro con el enfoque ASP.NET MVC: anotar modelo con los atributos correspondientes, MVC lo valida y actualiza ModelState.Errors, ModelState está disponible en View, por lo que es posible mostrar los errores a usuario.Validación del modelo con NancyFX

No he encontrado información sobre wiki cómo exactamente se debe hacer para NancyFX. En sources, puedo ver que Nancy intenta usar las Reglas, pero ¿cómo se aplica correctamente y muestra fallas en las Vistas?

EDIT: La pregunta es relevante para Nancy 0.9, según @TheCodeJunkie 0.10 aplicará cambios para eso.

Respuesta

7

En la versión etiquetada actual (0.9) no tenemos ningún soporte incorporado para la validación del modelo. Sin embargo, con la versión pendiente (probablemente este fin de semana) de 0.10, estamos agregando soporte para la validación del modelo y enviaremos paquetes nuget para usar anotaciones de datos o validación fluida.

La rama principal contiene un proyecto de demostración que muestra cómo los utilizan https://github.com/NancyFx/Nancy/tree/master/src/Nancy.Demo.Validation

Por supuesto las cosas validación es extensible y puede proporcionar a sus propias implementaciones para el marco de validación de su propia elección. El núcleo de Nancy solo contiene un pequeño conjunto de puntos de extensibilidad y luego las implementaciones reales se envían como nugets separados.

La versión 0.10 contendrá los primeros elementos básicos para permitir la creación de validación del lado del cliente en función de su modelo. Sin embargo, la liberación será 0,10 no contener el material real de validación del lado del cliente, pero los ganchos para extraer la información de validación no es como se muestra en este módulo muestra

https://github.com/NancyFx/Nancy/blob/master/src/Nancy.Demo.Validation/ProductsModule.cs#L16

Espero que esto ayude!

+0

Entonces, ¿entiendo bien que tengo que validar manualmente el Modelo dentro del controlador de acción y devolver algunos Model.Errors para mostrarlo? –

+0

Sí, por el momento. Cuando hayamos conectado las cosas del lado del cliente, será más transparente. – TheCodeJunkie

+0

¡Gracias, aclarado! –

Cuestiones relacionadas