Das benutzerdefinierte Attribut "ErrorMessage für Compare" funktioniert nicht

Schritte zum reproduzieren:

  1. Erstellen Sie eine neue MVC 5 Projekt mit Individuellen Benutzerkonten.
  2. Blick auf die ErrorMessage angegeben in RegisterViewModel für die ConfirmPassword Eigenschaft. Es ist "Das Passwort und die Bestätigung Passwort Stimmen nicht überein.".
  3. Erstellen und ausführen der Anwendung, und versuchen zu registrieren, mit nicht übereinstimmenden Kennwörtern. Ich werde se die Fehlermeldung "'Passwort Bestätigen' und 'Passwort' nicht überein.", statt der in das Modell.

Scheint es, wie eine benutzerdefinierte ErrorMessage Eigenschaft auf die Compare - Attribut nicht funktioniert. Auch wenn ich geben Sie eine Fehlermeldung, die Validierung zeigt immer noch eine Art Standard-Nachricht statt.

Diese Arbeit mit System.Web.Mvc.CompareAttribute aber das ist jetzt veraltet und sollten Sie stattdessen System.ComponentModel.DataAnnotations.CompareAttributedas zeigt dieses problem.

Füge ich die Compare Attribut an eine Eigenschaft und geben Sie die ErrorMessage wie folgt:

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

das erwartete Ergebnis wäre (aber das ist nicht das, was ich bekommen):

Das benutzerdefinierte Attribut

Stattdessen bekomme ich diese "default" - Fehlermeldung:

Das benutzerdefinierte Attribut

Client-seitige Validierung ist deaktiviert. Bin ich etwas fehlt? Dieses Beispiel ist entnommen aus dem MVC-5-Vorlage mit Individuellen Benutzerkonten zur Authentifizierung.

InformationsquelleAutor der Frage JLe | 2013-11-14

Schreibe einen Kommentar