Vorrei intercettare il carattere "<" nel campo modulo da un validatore regex. Mi limiterò a descrivere il problema in 3 fasi:ASP.NET MVC ValidateInput (false) smette di funzionare con xVal e [RegularExpression] DataAnnotation
Fase 1: Quando cerco di inviare un modulo con un campo che contiene il carattere "<", ho la "richiesta potenzialmente pericolosa ..." - come previsto in ASP.NET.
Passaggio 2: Per evitare la RequestValidation di ASP.NET, decorare il mio metodo di aggiornamento nel controller con "[ValidateInput (false)]".
Funziona come previsto - ora posso inviare il carattere "<" senza errori.
Passaggio 3: utilizzo xVal con DataAnnotations. Ad esempio, [Richiesto] o [StringLength (255)] funziona come previsto.
ma quando uso: [espressione regolare ("I caratteri speciali non sono ammessi" "^ [^ <>] * $", ErrorMessage =)], ho la "richiesta di Potenzialmente dangeros ... "errore ancora, nonostante la direttiva [ValidateInput (false)].
Cosa sta succedendo? Esiste un modo più semplice per la validazione della regex, ma con [ValidateInput (false)] in posizione? Certo, mi piacerebbe avere il mio codice di convalida nel modello, non nel controller.
Dato che il SO Community Bot ha spinto questo verso l'alto, puoi confermare se questo è ancora un problema? –
No, è stato un problema in MVC 1 + xVal. In MVC 2 la convalida funziona come supposto (e non c'è più bisogno di xVal). – Alex42