Question

Existe-t-il des moyens simples et intelligents de garder synchronisées vos règles de validation côté client et côté serveur?

Du côté client, nous avons JavaScript, peut-être une sorte de framework comme jQuery ou YUI.

Sur le serveur, nous avons ASP.NET WebForms ou ASP.NET MVC.

Ce qui est validé, ce sont des choses comme:

  • Corrigez les adresses électroniques
  • Corrigez les adresses personnelles et les codes postaux
  • Corrigez les numéros de carte de crédit

Et ainsi de suite.

Était-ce utile?

Autres conseils

< asp: RegularExpressionValidator ... > (et les autres validateurs asp.net) implémentent le javascript côté client et la vérification côté serveur selon les mêmes règles.

rédigez un grand corpus commun de données de test contenant les règles de validation et testez à l’unité vos validateurs avec ces données communes.

Lorsque vos règles changent, vous en tenez compte en mettant à jour les données de test et en testant jusqu'à ce que tout redevienne vert.

J'ai toujours utilisé les validateurs intégrés. Par exemple, si vous utilisez un RegularExpressionValidator et fournissez un ValidationExpression, celui-ci sera validé côté client (si disponible) et côté serveur en utilisant le même code.

Vous pouvez écrire vos propres validateurs personnalisés en dérivant de BaseValidatior. Cela vous permet de créer une validation de serveur en remplaçant EvaluteIsValid. Vous pourrez ensuite ajouter la validation du client ultérieurement si nécessaire.

Il ne s'agit pas d'une solution réelle, mais consultez le projet Axial sur CodePlex. Il s'agit d'un projet qui convertit C # en Javascript pour le Web et possède un contrôle qui vous permet d'utiliser le même code pour la validation côté serveur et la validation côté client. Ce n'est pas prêt pour la production, mais je suis curieux de voir si c'est ce que vous cherchez.

xVAL est un peu plus simple que la validation de la bibliothèque d'entreprise et gère la validation liée au modèle pour le client et Serveur.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top