ändern habe ich eine sauber Art und Weise, dies zu erreichen mit Hilfe von Data Annotations nicht gefunden. Ein Weg wäre, ein benutzerdefiniertes Modellbinder zu schreiben, aber das scheint eine Menge Arbeit für solch eine einfache Aufgabe zu sein.
Eine andere Möglichkeit, dies zu erreichen, ist das Hinzufügen eines Ordners App_GlobalResources
zu Ihrer ASP.NET-Anwendung. Fügen Sie eine Ressourcendatei namens Messages.resx
hinzu, die eine PropertyValueRequired
String-Ressource enthält.
PropertyValueRequired = "Some custom error message"
In Ihrem Application_Start
registrieren die Ressourcenklasse Schlüssel:
protected void Application_Start()
{
RegisterRoutes(RouteTable.Routes);
DefaultModelBinder.ResourceClassKey = "Messages";
}
Beachten Sie, dass ASP.NET MVC 2 verwendet die PropertyValueInvalid
statt PropertyValueRequired
Ressourcenschlüssel.
IMO mit Data Annotations zur Validierung Logik ist begrenzt (vielleicht in .NET 4 wird dies ändern). Wenn Sie die vollständige Kontrolle über die Validierungslogik haben möchten, würde ich Ihnen die Verwendung einer Validierungsbibliothek wie Fluent Validation oder xVal empfehlen.
Gibt es einen Grund, warum diese Frage abgelehnt wurde? Bitte hinterlassen Sie einen Kommentar, wenn Sie eine Frage ablehnen. IMHO ist es eine gute Frage. –
Nicht jeder versteht Russisch. Der Text des Attributs sollte in Englisch sein. –