Großbuchstaben-Attribut, das die Eingabe in Großbuchstaben konvertiert
Ich arbeite in MVC4 und möchte ein Modell mit einem definierenUppercase
Attribut. Die Idee wäre, dass das Vorhandensein des Großbuchstaben-Attributs dazu führen würde, dass der Modellwert beim Eintreffen auf dem Server in Großbuchstaben umgewandelt wird.
Im Moment habe ich folgenden Code im Modell:
[Required]
[Display(Name="Account Code")]
[StringValidation(RegExValidation.AccountCode, Uppercase=true)]
public string Account
{
get { return _account; }
set
{
if (value != null)
_account = value.ToUpper();
}
}
Aber was ich wirklich gerne hätte, ist Folgendes:
[Required]
[Display(Name="Account Code")]
[StringValidation(RegExValidation.AccountCode)]
[Uppercase]
public string Account { get; set; }
Ich denke, dass ich das Großbuchstabenattribut als erstellen mussValidationAttribute
um sicherzustellen, dass es ausgelöst wird, wenn das Modell auf den Server trifft. Aber das scheint ein bisschen falsch zu sein, da ich die Daten nicht wirklich validiere. Gibt es einen besseren Weg?
Gibt es auch eine Möglichkeit, die Aufrufreihenfolge für die Attribute sicherzustellen? Ich möchte wirklich die Daten in Großbuchstaben vor dem Brauch konvertierenStringValidation
Attribut wird ausgelöst, da hierdurch die Groß- und Kleinschreibung des Texts im Regex-Muster überprüft wird.
Um dem etwas Hintergrund hinzuzufügen, möchte ich die Notwendigkeit reduzieren, Code hinzuzufügen, um die Daten in Großbuchstaben zu schreiben. Das Nirwana ist ein einzelnes Attribut, das die Daten auf dem Weg zum Server entweder in der Modellbindungs- oder in der Validierungsphase aktualisiert. Dieses Attribut kann dann in der referenziert werdenStringValidation
Attribut zum Ändern des in den Prüfungen verwendeten RegEx-Werts. Ich kann dieses Attribut dann auch in einem benutzerdefinierten suchenTextBoxFor
Hilfsmethode, so dass ich hinzufügen kanntext-transform: uppercase
so sieht es auf der Client-Seite richtig aus.
Hat jemand da draußen irgendwelche Ideen?