Moin, Ich habe in einer ASP.NET MVC4 Anwendung auf verschiedenen Modelproperties flgd. Annotation:
[StringLength(50), Required]
[RegularExpression(@"^[a-zA-ZäöüÄÖÜ]*$", ErrorMessage = "Muss aus Buchstaben bestehen")]
public string Nachname { get; set; }
Gerendert wird das Ganze wiefolgt, Charset der Seite ist utf-8.:
<input class="small" data-val="true" data-val-length="Das Feld [blabla] von 50 sein."
data-val-length-max="50" data-val-regex="Muss aus Buchstaben bestehen"
data-val-regex-pattern="^[a-zA-Z&#228;&#246;&#252;&#196;&#214;&#220;]*$"
data-val-required="Das Feld &quot;Nachname&quot; ist erforderlich."
id="Nachname" name="Nachname" type="text" value="" />
Die clientseitige Validierung mittels jquery.validate.unobtrusive.js funktioniert natürlich nicht, da das Pattern seitens jQuery nicht decodiert werden kann. Serverseitig geht es natürlich. Wie kriege ich es hin, dass auch die clientseitige Validierung funktioniert und das RegEx-Pattern der clientseitigen jQuery-Validerung schmeckt?
Hoffe jemand weiß Rat und danke schonmal für jedwede Hilfe...
Hallo console,
Google liefert als erstes Ergebnis einen Thread, wo von einem Bug in MVC4 die rede ist (ob der jemals behoben wurde: keine Ahnung). Am Ende wird jedoch vorgeschlagen die Sonderzeichen mittels \uxxxx zu escapen...
Evtl. hilft das.
Gruß,
Kani
Danke Kani, genau darauf bin ich dann auch gekommen 😁
[StringLength(50), Required]
[RegularExpression(@"^[[a-zA-Z\u00E4\u00F6\u00FC\u00C4\u00D6\u00DC\u00DF]*$"; ErrorMessage = "Muss aus Buchstaben bestehen")]
public string Nachname { get; set; }
Die Unicode-Repräsentanz hierfür zu verwenden ist natürlich alles anderes als leserlich, oder hat die Jemand im Kopf?!? 🤔 Könnte die Expression natürlich auch programmatisch in UTF-16 (hex) convertieren, mal schauen obs mir das Wert ist...
Mach Dir Doch nen eigenes Attribut, das sowas automatisch umwandelt.
- performance is a feature -
Microsoft MVP - @Website - @AzureStuttgart - github.com/BenjaminAbt - Sustainable Code