C# MVC : Remote Validation

Voici comment faire une validation particulière sur une propriété du model.
Exemple vérifier l’unicité du login dans la table des utilisateurs.

Pour cela dans le controleur UtilisateurControleur créer la méthode CheckUniqueLogin.
Cette méthode renvoie un type JsonResult

public JsonResult CheckUniqueLogin(string login)
 {
// requete base d’unicité du login
 int nblogin = GetNbLogin(login)</p>
if (nblogin  == 0)
 {
 return Json(true, JsonRequestBehavior.AllowGet);
 }
 else
 {
 return Json(“Ce login existe déjà”, JsonRequestBehavior.AllowGet);
 }
 }

Si le login n’existe pas , le Json retourné renvoie True sinon un message d’erreur.

Dans la classe du Model : UtilisateurModel
Sur la propriété Login rajouter l’attribut Remote avec le nom du controleur et la méthode à appeler pour la validation
[Remote(« CheckUniqueLogin », »Utilsateur »)]

D’autre paramètres sont disponible pour cet attribut, voir ici pour plus de détails :
http://msdn.microsoft.com/fr-fr/library/gg508808%28v=vs.98%29.aspx

De plus pour que cette validation fonctionne, il faut que la propriété Login possède aussi l’attribut [Required]

C# : Génération de PDF

Voici 2 librairies qui permettent la génération de PDF :

1- ITextSharp
Cette librairie permet de générer un PDF soit avec des objets pdf (paragraphes , tables, text, …), soit à partir d’une Url.
Pour plus d’explication sur sont utilisation en MVC , voir ici
http://www.codeproject.com/Articles/66948/Rendering-PDF-views-in-ASP-MVC-using-iTextSharp

2- DodleReport
Cette librairie disponible par Nuget et sur CodePlex permet d’exporter n’importe quel type de liste dans des fichiers de différent format : Xls, PDF, Html,…
Son utilisation est vraiment très simple.
Toutes les infos ici: http://doddlereport.codeplex.com

pour info, DodleReport se sert de ItextSharp

Il existe d’autre méthodes pour générer un pdf comme par exemple : http://www.simple-talk.com/dotnet/asp.net/asp.net-mvc-action-results-and-pdf-content

Liens du 06/03/2012

Au programme du MVC, de l’Asp.net, du Visual Studio 2011, du Jquery, des conseils ….

1- MVC -Web Api – Gestion des exceptions  http://weblogs.asp.net/cibrax/archive/2012/02/27/handling-exceptions-in-your-asp-net-web-api.aspx

2- Jquery Template/View Engine in Asp.net MVC http://www.codeproject.com/Articles/188467/Using-JavaScript-View-Engines-in-ASP-NET-MVC

3- ASP.NET MVC + Selenium + IISExpress http://stephenwalther.com/blog/archive/2011/12/22/asp-net-mvc-selenium-iisexpress.aspx

4- Integrating Javascript Unit Tests With Visual Studio http://stephenwalther.com/blog/archive/2010/12/20/integrating-javascript-unit-tests-with-visual-studio.aspx

5- 10 Essential Tools for building ASP.NET Websites http://stephenwalther.com/blog/archive/2010/11/22/10-essential-tools-for-building-asp-net-websites.aspx

6- Visual Studio 11 Beta: Using page inspector http://www.asp.net/mvc/tutorials/mvc-4/using-page-inspector-in-an-mvc-application-in-visual-studio-11-beta

7- 8 conseils pour jeunes developpeurs: http://pym.me/posts/8-conseils-pour-jeunes-developpeurs/

8- Preprocessor Directive in C#  http://www.codeproject.com/Articles/304175/Preprocessor-Directives-in-Csharp

9- Inside Visual Studio 11: A Guided Tour http://visualstudiomagazine.com/articles/2012/03/01/more-power.aspx

10- Asp.Net MVC 3 : Develop Hybrid Native and Mobile Web Apps http://msdn.microsoft.com/fr-fr/magazine/hh852592(en-us).aspx

Liens du 21/02/2012

Récemment j’ai découvert un blog qui propose très régulièrement des liens vers des articles de développement sur tout ce qui touche à la technologie Micrososft.

J’ai trouvé cette idée très intéressante, je vais donc proposer régulièrement des liens vers des articles ou des sites qui seront aussi bien des liens de développement .net que sur du développement Front Office (Javascrip, Jquery, Css, HTML, …)

Voici donc mon 1er topic de liens :

Lire la suite

TechDays 2012 : Développement Web pour Mobile

1-      Historique

Il y a quelque année le développement web pour mobile se fait avec les languages WAP ou WML

2-      Chiffres

Aujourd’hui il y 6 Milliard de téléphones mobile 

3-      Les contraintes

Les contraintes liées au développement pour mobile sont:

– Les écrans sont petit voir très petit

– il n’y a pas de souris

– un clavier pas facile à utiliser

4-      Les enjeux

Adapter pour les différents périphériques

Rentabilité pour tous les devices

Layout unique supportant le “Touch”

Lire la suite