2012-05-10 11 views
8

In un progetto ASP.NET MVC 3 ho il requisito di convalidare un campo nome in una vista per consentire uno specifico set di caratteri accentati. Così nel mio modello di vista ho un attributo di espressione regolare definita sulla proprietà appropriata in questo modo:L'attributo di convalida del modello di espressione regolare ASP.NET MVC4 non funziona sul lato client con caratteri accentati

[RegularExpression("^[a-zA-Zá]{2,50}$")] 

Si prega di notare questo non è il codice esatto, si è semplificata per rendere il mio problema più facile da capire.

Questa espressione regolare funziona bene sul lato server, ma non funziona sul lato client. Se si visualizza il codice HTML del campo di input è contiene questo attributo:

data-val-regex-pattern="^[a-zA-Zá]{2,50}$" 

Come si può vedere il carattere accentato è stata trasformata in un'entità HTML che rompe l'espressione regolare. Qualcuno può dirmi perché questo sta accadendo e come risolverlo?

UPDATE

Scuse Io sono un idiota completo. Avevo completamente dimenticato di essere passati ad MVC 4 beta un paio di giorni fa. In seguito ho creato una due progetti di test piccoli, uno in MVC 3 e uno in MVC 4. Il problema esiste solo in MVC 4.

risposta

0

Prova questo:

^[a-zA-Z\u00E1]{2,50}$ 

Utilizzando \uXXXX, dove XXXX codice esadecimale del personaggio.

Problemi correlati