- Nullable Types' Subtlety
Mehdi Khalili - Mvc.ValidationTookit Alpha Release: Conditional Validation with MVC 3
Simon J. Ince
Ya está disponible el libro de Windows Phone 7.5 "Mango" de Josue Yeray Julián
Vía Krasis Press - Estudiando el diseño de jQuery paso a paso (II Parte)
Carlos Benítez - Converting a .NET DateTime object to a JavaScript Date object
Jason N. Gaylord - Simple, fast and useful MiniProfiler for ASP.NET MVC
Hajan Selmani
Progressive Enhancement With Backbone.js
Derick Bailey - What good Web Developers should know about sending E-mail
Doug Rathbone - The HTML5 Article Tag – Fixing the World Wide Web
Joe Stagner - Testing Inbound Routes
Manning Publications - ASP.NET MVC 3 Controller for Serving Images
Justin Schwartzenberger - PDF reporting using ASP.NET MVC3
Patrick Kalkman - Interesante artículo sobre si los ORMs son un antipatrón y la respuesta de Ayende
Vía Eduard Tomás - Funciones escalares en TSQL, JOINS, CROSS APPLY, y la madre que parió al topo
Lluis Franco - Analizando el bucle for-in en Javascript
Carlos Benítez - Essential JavaScript Namespacing Patterns
Addy Osmani - jQuery and the not selector
John Whish - C#/.NET Little Wonders: String Padding and Trimming - Not Just for Spaces!
James Michael - Automapper 2.0 released
Vía Jimmy Board @ LosTechies - An introduction to ASP.NET MVC extensibility
Simone Chiaretta
Publicado en: Variable not found
Publicado por José M. Aguilar a las 9:16 a. m.
Etiquetas: enlaces
El caso es que el gran Simone Chiaretta ha publicado un excelente diagrama con el ciclo de vida de una petición en el framework ASP.NET MVC. Simplemente imprescindible para comprender lo que pasa por ahí dentro desde que se recibe una petición en el servidor hasta que es enviada la vista con la respuesta al cliente.
Puedes pulsar sobre la imagen para descargar la versión PDF, lista para ser impresa :-)
Publicado en: Variable not found.
Lo primero, agradeceros la asistencia y reconocer el mérito de los jabatos que aguantaron hasta el final. No es fácil tragarse dos horas seguidas de monólogo y menos aún sobre una temática algo densa en algunos puntos. Muchas gracias a todos :-)
Durante estas dos horas recorrimos distintas técnicas que podemos utilizar para validar las entradas de datos. En resumidas cuentas, lo que vimos fue:
- La evolución que nos lleva desde una validación totalmente artesana, sin el más absoluto respeto al patrón MVC hasta el sistema de validación integrado en ASP.NET MVC.
- Las anotaciones “estándar”: Required, Range, StringLength… comentando también algunas de las novedades que nos depara el futuro ASP.NET vNext.
- Los modos de validación en cliente de MVC 3, la validación unobtrusive y su repercusión en la vista.
- La validación personalizada con CustomValidation.
- Validación remota con el atributo Remote.
- También vimos el atributo AllowHtml, que aunque no tenía mucho que ver con el resto, me parecía interesante comentarlo.
- El uso de los interfaces IDataErrorInfo e IValidatableObject para realizar validaciones personalizadas en servidor.
- Creación de custom annotations, o anotaciones personalizadas en las que introducir la lógica de validación que nos interese.
- Cómo llevar a la vista estas anotaciones personalizadas, generando las reglas y construyendo los adaptadores y funciones de validación en cliente.
- Y por último, creamos un validator provider capaz de obtener validadores a partir de información almacenada en el archivo de configuración, en lugar de obtenerlos desde las anotaciones en las clases del Modelo.
Enlaces:
- Materiales (PPT y proyecto Visual Studio 2010)
- Grabación del evento (descarga o visualización online)
Ahí van los enlaces publicados en Variable not found en Facebook y Twitter del 19 al 25 de septiembre de 2011. Espero que os resulten interesantes. :-)
- Optimizing the website Performance using ASP.NET 4.5
Kalyan Bandarupalli - Premature optimization
Keyvan Nayyeri - HTML5 compatibility on mobile and tablet browsers
Vía Genbetadev. - EF vNext- Migrations 0.7.0.0
Unai Zorrilla - The Secret Life of JavaScript Primitives
Angus Croll. Vía CampusMVP. - Writing a Recipe for ASP.NET MVC 4 Developer Preview
Phil Haack - Regex engine updated to allow timeouts in .NET 4.5
Ahmad Mageed - 2D transforms in CSS 3
John. A secas. - Functions in javascript
Ricky Delaney - WebMatrix 2 Beta–Released
Roberto Lucero - Released: Project Silk Client-Side Web Development for Modern Browsers
Karl Shifflett - What’s new in C# 5.0 and VB.Net
Samuel Jack - Improvements in the CLR Core in .NET Framework 4.5
Sasha Goldshtein - Introduction to Entity Framework Code First
Bipin Joshi - Espectacular (Chrome): Very cool 3D WebGL Water demo. Like can 'touch' water to create waves! :)
Vía Brian Henderson - C#5 Tomando una cerveza con Feynman (o await 2a parte)
Eduard Tomás - The scoped attribute in HTML5
Html5 doctor - What’s New For Parallelism in .NET 4.5
Stephen Toub - C# Future directions
Christian Nagel - C#/.NET Little Wonders: The String Remove() and Replace() Methods
James Michael - WinRT demystified
Miguel de Icaza - C# 5: Async / Await
Eduard Tomás - ASP.NET MVC 4: Display modes
Gunnar Peipman - ASP.NET MVC 4: New mobile web application template
Gunnar Peipman
Publicado en: Variable not found
El tema, que ha sido propuesto por algunos de vosotros, es sin duda muy interesante. Sea cual sea el tipo de aplicación que desarrollemos, nos vemos obligados a validar los datos de entrada y, afortunadamente, MVC 3 viene acompañado de un sistema realmente potente para ayudarnos con esta crítica tarea. De hecho, es tan amplio que no es fácil conocerlo en toda su extensión.
Y lo que voy a intentar en esta charla es dar un repaso al sistema de validación de MVC 3 completo. De esta forma podréis conocer qué es lo que hay, lo que se puede hacer, y tener una idea de cómo hacerlo. Trataremos desde aspectos muy simples como las anotaciones incluidas en el framework, su personalización y extensión, hasta temas algo más avanzadillos como la creación de validadores en cliente o los proveedores de validación. Espero que me dé tiempo a todo, uuf!
Para poder seguirla creo que es conveniente (por no decir necesario) conocer ASP.NET MVC 3 (o 2) al menos a un nivel básico; no voy a tener tiempo para detenerme en ver qué es un controlador, cómo le llegan los parámetros a la acciones, o cómo se construye un formulario. Pero tampoco es que sean unos requisitos muy exigentes: cualquiera que haya jugado mínimamente con el framework creo que podrá entenderlo todo… o al menos ese es el objetivo.
Os recuerdo que se trata de un Webcast, o sea, que podéis asistir a este evento desde vuestro sillón favorito y con un saco de palomitas a la vera, y por supuesto es totalmente gratuito. Eso sí, debéis registraros previamente para poder asistir:
- Día: martes 27 de septiembre, 19:00 hora peninsular española (GMT+1)
- URL del registro: https://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032494252&Culture=es-ES
Publicado por José M. Aguilar a las 12:16 p. m.
Etiquetas: aspnetmvc, auges, charlas, eventos, validadores
Pero bueno, centrándonos en ASP.NET MVC 4, se trata de un adelanto de lo que ya se nos avanzó en el Roadmap del producto, y que se ha distribuido en dos paquetes distintos: uno para Visual Studio 2010, y otro para el flamante Visual Studio 11 Developer Preview, también lanzado durante el Build. Ambos pueden descargarse a través de Web Platform Installer, o desde los enlaces proporcionados en esta página.
Este post vamos a dedicarlo a comentar algunas de las cosas que me han ido llamando la atención durante los primeros paseos por el producto. Y ojo, que se trata de una versión muy preliminar: puede tener fallos, cambiar conforme vayamos aproximándonos a la versión final, o incluso hay características que podrían desaparecer.
Por ejemplo, en el caso de la distribución para Visual Studio 2010, no debería interferir con otras versiones del producto instaladas, por lo que deberíais poder probarla en vuestra máquina habitual sin miedo a que os rompa nada. Sin embargo, sí que me ha dado algún problemilla al compilar proyectos MVC 3 existentes, puesto que se introducían dependencias a la versión 2 de
System.Web.Webpages
(distribuida con MVC 4), pero vaya, nada que no pueda solucionarse en un par de minutos retocando las referencias del proyecto.Publicado por José M. Aguilar a las 10:17 a. m.
Etiquetas: asp.net, aspnetmvc, desarrollo, novedades