Dies ist der Fehler, den ich mit MVC2 bekomme:
%Vor%Es kommt von der [Required] Validation DataAnnotation.
Stapelverfolgung:
%Vor%Ich habe mein View-Modell darauf herunterkochen lassen (es bricht jedes Mal, wenn ein Attribut [Erforderlich] vorhanden ist, funktioniert ohne):
%Vor%Mein Controller gibt ein leeres ViewModel zurück und das Formular in der Ansicht ist komplett leer ... nur eine Schaltfläche zum Absenden.
Das Problem liegt darin, die ErrorMessage auf eine leere Zeichenfolge zu setzen. Ich müsste annehmen, dass es irgendwann im MSC-Code eine Überprüfung auf String.Empty gibt, die Probleme verursacht.
Das Setzen der ErrorMessage auf "" (ein Leerzeichen) löste das Problem.
In meinem Fall habe ich write ErrorMessage = null, Beispiel:
%Vor% ErrorMessage = " "
funktioniert nicht.
Meine Vermutung ist, dass [DataType(DataType.Text)]
eine Validierungsnachricht hat, die in Ressourcen (in System.ComponentModel.DataAnnotations.Resources) definiert ist, und das Vorhandensein dieser und Ihres [Required]
verursacht dieses InvalidOperationException
. Versuchen Sie, [DataType]
oder [Required]
zu entfernen und sehen Sie, ob die Ausnahme verschwindet.
Ich hatte ein ähnliches Problem mit einem benutzerdefinierten ValidationAttribute.
In der IsValid-Methode habe ich die ErrorMessage gesetzt. Die Lösung bestand darin, die Zuordnung zur ErrorMessage-Property zu entfernen ...
%Vor%Ich schrieb Einheitentest und sie passierten nur, wenn ich eines nach dem anderen ausführte. Aber als ich "Run All" anklickte, passierte nur der erste? Sie sind nicht in irgendeiner Weise verknüpft ...
Ich habe auch Ссылка versucht Hat auch nicht funktioniert.
Also ja, die Lösung bestand darin, die Zuordnung zur ErrorMessage-Property zu entfernen!
Tags und Links asp.net-mvc asp.net asp.net-mvc-2