Ich möchte das "<" Zeichen im Formularfeld von einem Regex-Validator abgefangen werden.ASP.NET MVC ValidateInput (false) stoppt die Arbeit mit xVal und [RegularExpression] DataAnnotation
Schritt 1: Ich werde das Problem in 3 Schritte beschreiben Wenn ich versuche, ein Formular mit einem Feld, das die „<“ Zeichen enthält einreichen, erhalte ich die „Potentiell gefährliche Anfrage ...“ - wie erwartet in ASP.NET.
Schritt 2: Um ASP.NET RequestValidation zu vermeiden, dekoriere ich meine Update-Methode im Controller mit "[ValidateInput (false)]".
Es funktioniert wie erwartet - jetzt kann ich "<" Zeichen ohne Fehler posten.
Schritt 3: Ich verwende xVal mit DataAnnotations. Zum Beispiel funktioniert [Erforderlich] oder [StringLänge (255)] wie erwartet.
ABER wenn ich benutze: [RegulaererAusdruck ("Sonderzeichen sind nicht erlaubt" "^ [^ <>] * $", Errormessage =)], Ich erhalte die „Potenziell dangeros Anfrage ... "Fehler wieder, trotz der [ValidateInput (false)] Direktive.
Was passiert? Gibt es einen einfacheren Weg für Regex-Validierung, aber mit [ValidateInput (false)] an Ort und Stelle? Natürlich hätte ich gerne meinen Validierungscode im Modell, nicht im Controller.
Angesichts der Tatsache, dass der SO Community Bot dies an die Spitze geschoben hat, können Sie bestätigen, ob dies noch ein Problem ist? –
Nein, es war eine Meldung in MVC 1 + xVal. In MVC 2 funktioniert die Validierung wie angenommen (und xVal ist nicht mehr notwendig). – Alex42