2013-02-24 3 views
1

Dans mon application web je les couches suivantes:Si le BLL valider les mêmes choses que l'interface utilisateur

  • UI
    • Contrôleurs, ViewModels, Vues
  • BLL
    • Services
  • DAL
    • Référentiels
  • modèles

Dans ma couche d'interface utilisateur que j'utilise DataAnnotations sur ViewModels pour valider l'entrée. Les contrôleurs communiquent avec les services pour faire quelque chose avec lui comme l'enregistrement d'un nouvel utilisateur. Ma question est: dois-je valider les mêmes choses dans le service que les DataAnnotations ont déjà fait sur les ViewModels comme le nom d'utilisateur, le mot de passe et la validation par e-mail?

Répondre

3

Si cette couche de service est destinée à être réutilisée en dehors de votre application ASP.NET MVC, vous devez valider. Si ce n'est pas le cas, il n'est peut-être pas nécessaire d'effectuer la validation même. Sur votre couche de service, vous devez valider les exigences métier telles que par exemple le nom d'utilisateur spécifié existe déjà ou vous ne pouvez pas transférer 3000 $ au compte X car vous n'avez que 2 000 $ dans votre compte actuel.

0

Valider à nouveau dans votre couche de service peut aider à «pérenniser» votre application si elle doit être utilisée ailleurs, par exemple pour ajouter un service Web à votre application.

0

Vous devez toujours valider toutes les données provenant de votre service. Il peut arriver que la couche d'interface utilisateur effectue la même validation (ou même partage le code pour le faire).

Notez que certaines validations (c'est-à-dire "email est réel", "utilisateur créé avec succès") ne peuvent être effectuées qu'en service.

Questions connexes