Personnalisé ErrorMessage pour Comparer attribut ne fonctionne pas

Étapes pour reproduire:

  1. Créer un nouveau MVC 5 du projet avec les Comptes d'Utilisateur Individuels.
  2. Regarder la ErrorMessage spécifié dans RegisterViewModel pour la ConfirmPassword de la propriété. Il est "Le mot de passe et confirmation de mot de passe ne correspondent pas.".
  3. Générer et exécuter l'application, et d'essayer de s'inscrire auprès de non-correspondance des mots de passe. Je vais voir le message d'erreur ""Confirmer mot de passe" et " Mot de passe ne correspondent pas.", la place de celui spécifié dans le modèle.

Il semble comme une coutume ErrorMessage bien sur la Compare attribut ne fonctionne pas. Même si je spécifier un ErrorMessage, la validation montre encore une sorte de message par défaut à la place.

Ce travail avec System.Web.Mvc.CompareAttribute, mais c'est maintenant obsolète et vous devez utiliser à la place System.ComponentModel.DataAnnotations.CompareAttribute, qui montre ce problème.

- Je ajouter de la Compare attribut d'une propriété et de spécifier le ErrorMessage comme suit:

[Compare("NewPassword", ErrorMessage = "The new password and confirmation password do not match. I'll even add some random text!")]
public string ConfirmPassword { get; set; }

le résultat attendu serait (mais ce n'est pas ce que je reçois):

Personnalisé ErrorMessage pour Comparer attribut ne fonctionne pas

Au lieu de cela, je reçois ce "défaut" message d'erreur:

Personnalisé ErrorMessage pour Comparer attribut ne fonctionne pas

La validation côté Client est désactivé. Ai-je raté quelque chose? Cet exemple est tiré de la MVC 5 modèle avec des Comptes d'Utilisateurs Individuels que l'authentification.

  • Pourquoi êtes-vous sûr que c'est désactivé? Et comment il est lié au résultat que vous attendez?
  • Je suppose que vous voulez dire la validation côté client? J'ai changé le web.config pour <add key="ClientValidationEnabled" value="false" /> et si j'ai vérifier sur le Net panneau dans mon outil de développeur, je peux voir la publication, et le message d'erreur dans la réponse HTML.
  • Alors, quel est le problème? Vous dites que vous avez ajouté à la validation, vous vous attendez à ce qu'il soit comme sur la photo, mais vous n'êtes pas heureux avec cela.
  • - Je montrer une image de comment - je attendre d'elle. Ce que je vous est montré sur l'image ci-dessous, ce qui n'est pas ce que j'attends. Je vais préciser que.
  • Je pense que vous n'avez pas de recherche ainsi, de la même question ont été [ici][1] Laissez-moi savoir si cela a été utile. [1]: stackoverflow.com/questions/4938078/...
  • Comme vous pouvez le voir j'ai suis à l'aide de cette solution (bien que pas le Compare de System.Web.Mvc depuis elle obsolète), mais il n'est pas au wok, à la façon dont je voudrais attendre. Et oui, j'ai fait une recherche.
  • Je ne suis pas sûr de ce qu'est le problème: vous devez alors fournir tous les détails sur votre point de vue, les contrôleurs et les modesl, je suppose. J'ai essayé les deux façons: avec le client ou le serveur, les validations et les deux fonctionnent très bien avec un bon message. (Essayez de construire l'application à partir de zéro, puis de comparer ce qui est de la différence (si le "scratch" des œuvres). Aussi, vous pouvez avoir un coup d'oeil à ceci (je ne sais pas si cela pourrait être lié à depricated infrastructure): connect.microsoft.com/VisualStudio/feedback/details/727650/...
  • Merci pour vos commentaires. Cependant, j'ai juste essayé de créer un nouveau MVC5 projet avec VS2013 et les questions qui s'affiche. J'ai édité mon post pour décrire ce que j'ai fait et comment je l'ai essayé. Le lien que vous avez fourni de points à utiliser le obsolète System.Web.Mvc.CompareAttribute, qui est le obsolète celui que je suis en train de sortir de. (Tous les autres attributs utilisés dans MVC aujourd'hui est en System.ComponentModel.DataAnnotations, donc je voudrais utiliser le Comparer attribut à partir de là aussi bien.

InformationsquelleAutor JLe | 2013-11-14