2010-04-10 14 views
5

Ich verfüge über ein eigenes Validierungsattribut auf Klassenebene, das von ValidationAttribute abgeleitet ist, in meinem Modell.ASP.NET MVC Benutzerdefinierte benutzerdefinierte Annotation- und ModelState-Schlüssel auf Klassenebene

Warum registriert es keinen Schlüssel im ModelState, wenn IsValid falsch ist? Ich kann die Fehlermeldung in der ModelState.Values-Auflistung sehen, aber die ModelState.Keys-Auflistung zeigt nur eine leere Zeichenfolge "". Kann ich einen Schlüssel dafür liefern? Vermutlich deshalb, weil er keiner Immobilie zugeordnet ist?

Ich möchte ModelState.Remove in meinem Controller verwenden, um diesen Fehler unter bestimmten Bedingungen zu entfernen, aber ich habe keinen Schlüssel!

Irgendwelche Ideen?

+0

Ich habe das gleiche Problem, ich musste mehrere Werte überprüfen, so dass ich eine Klasse benutzerdefinierte Attribut, aber ich bekomme nichts zurück zu der Ansicht, dass ich einen Fehler habe. Ich habe den Eindruck, dass die Verwendung von Datenanmerkungen für die Modellvalidierung bestenfalls ein Mangel an Glanz ist. – JBeckton

+0

Diese Frage http://stackoverflow.com/questions/4266632/unable-to-set-membernames-from-custom-validation-attribute-in-mvc2 hat das gleiche Problem und eine Lösung hoffe auch tat hilft. – Vipresh

Antwort

0

Überprüfen Sie ModelError.Exception in IModelBinder.OnModelUpdated.

Verwandte Themen