2016-06-23 16 views
0

Ich habe diesen Fehler, wenn ich versuche, zur Login-Ansicht in meinem Browser in einem Projekt zu navigieren, an dem ich gearbeitet habe. enter image description hereBenutzername Validierung in loginviewmodel.cs

Ich habe einen Benutzernamen Eigenschaft in meinem AccountViewModel bekam

Wie kann ich dieses Problem zu vermeiden? Kann mir jemand eine Lösung vorschlagen?

Nachdem ich das gewünschte Attribut geändert haben wie diese

 [Required(ErrorMessageResourceType = typeof(InitialCreate1),ErrorMessageResourceName = "UserNameInvalid", ErrorMessage = null)] 
    [Display(Name = "UserName")] 
    public string UserName { get; set; } 

ich diese neue Fehler bekommen haben

Server Error in '/' Application. 

Entweder ErrorMessageString oder ErrorMessageResourceName müssen eingestellt werden, aber nicht beides.

Beschreibung: Bei der Ausführung der aktuellen Webanforderung ist eine nicht behandelte Ausnahme aufgetreten. Bitte überprüfen Sie die Stack-Trace für weitere Informationen über den Fehler und wo es aus dem Code stammt.

Ausnahmedetails: System.InvalidOperationException: Entweder ErrorMessageString oder ErrorMessageResourceName muss festgelegt werden, aber nicht beide.

Quellfehler:

Zeile 17: @ Html.LabelFor (m => m.UserName, neue {@ Klasse = "col-MD-2-Steuer-label"}) Zeile 18: Linie 19 : @ Html.TextBoxFor (m => m.UserName, neue {@ Klasse = "form-control"}) Zeile 20: @ Html.ValidationMessageFor (m => m.UserName) Zeile 21:

Was Kann ich das tun? Bitte hilf mir?

Antwort

2

Die erste Fehlermeldung besagt, dass Sie zusätzlich zum Ressourcennamen einen Ressourcentyp angeben müssen. Wenn Sie beispielsweise eine Ressource mit dem Namen Validation.resx haben, müssen Sie den Ressourcentyp für das Attribut deklarieren.

[Required(
    ErrorMessageResourceName = "UserNameRequired", 
    ErrorMessageResourceType = typeof(Validation))] 
[Display(Name = "UserName")] 
public string UserName { get; set; } 

Die Ressource-Datei könnte wie folgt aussehen:

enter image description here

Die zweite Fehlermeldung sagt, dass Sie ErrorMessage oder ErrorMessageResourceName erklären muss, aber nicht beide. Um den Fehler zu beheben, müssen Sie ErrorMessage = null aus Ihrer Attributdeklaration entfernen.

Wenn Sie tatsächlich keine Ressourcendatei haben, ist es möglicherweise einfacher, die Fehlermeldung direkt auf dem Attribut zu deklarieren.

[Display(Name = "UserName")] 
[Required(ErrorMessage = "Please enter your username.")] 
public string UserName { get; set; } 
+0

Entschuldigung Aber wo kann ich meine Ressource finden? –

+0

Wenn Sie eine Ressourcendatei haben, sollte es irgendwo in Ihrer Lösung eine '.resx'-Datei sein, so dass Sie möglicherweise eine solche erstellen müssen, wenn sie nicht bereits existiert. Es wird eine Tabelle von Name-Wert-Paaren sein. Siehe meine aktualisierte Antwort für weitere Informationen. –

+0

Vielen Dank für Ihre Hilfe, es hat wirklich funktioniert, segne Sie –

Verwandte Themen