asp.net mvc-input / multi-language-model-Validierung
Ich bin ganz neu bei asp.net mvc und rechts weiß, ich bin versucht, herauszufinden,
eine gute übung zu tun, input-Validierung.
In das Projekt, die wir verwenden entity framework, wo Sie hinzufügen können
Daten Anmerkungen zu den Eigenschaften in der folgenden Weise:
[Required(ErrorMessage = "Please enter a product name")]
[Column]
public string Name { get; set; }
Dies ist ganz nett, jedoch haben wir ein multi-language-website (wie die meisten websites),
so können wir nicht nur zeigen, werden die Fehlermeldungen in Englisch.
Was kann ein Weg, um dieses Problem zu lösen? Kann ich diese errormessage @runtime, je nach Sprache des Benutzers?
Sollte ich die Jquery-client-seitige Validierung?
Vielen Dank für den input.
Update habe ich versucht, den code auf der website von Phil Haack
Dies wird den trick tun mit statischen Ressourcen jedoch nutzen wir Ressourcen, die aus einer Datenbank stammen nicht von statischen Ressourcen.
Wenn ich füllen Sie die folgenden für die dataannotations:
[MetadataType(typeof(IncidentsMetaData))]
public partial class INCIDENTS
{
private class IncidentsMetaData
{
[Required(ErrorMessageResourceType = typeof(CustomResourceProviders.DBResourceProviderFactory),
ErrorMessageResourceName="1277")]
public string SUBJECT { get; set; }
}
}
Dann bekomme ich die folgende Fehlermeldung:
Die Ressourcen-Typ 'CustomResourceProviders.DBResourceProviderFactory' nicht haben eine zugängliche statische Eigenschaft mit dem Namen '1277'.
Natürlich gibt es keine solche Eigenschaft, es sollte aufgerufen werden, indem Sie eine Funktion.
Irgendeine Idee was ich konnte tun?
tnx
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie Erben, benutzerdefiniertes Attribut aus RequiredAttribute und setzen Sie Ihre eigenen lokalisierten Nachricht für Immobilien -ErrorMessage. Es kann, sieht wie folgt aus:
auch und Sie Erben von DisplayNameAttribute und überschreiben DisplayName Eigenschaft:
auch Sie können Ihre benutzerdefinierten validierungsattributen, der erbt von ValidationAttribute Klasse.
Werfen Sie einen Blick auf diese post, http://helios.ca/2010/02/17/asp-net-mvc-2-model-validation-with-localization/ gutes blog auf das problem
Phil Haack hat geschrieben guter blog-post abdeckt, wie dies zu tun. Im wesentlichen es ist viel das gleiche, außer Sie verwenden Sie Ressource-Dateien, um die Nachrichten.