asp.net-mvc - mvc - modelstate
ValidaciĆ³n de solicitud-ASP.NET MVC 2 (2)
¿Ha cambiado la validación de la solicitud para ASP.NET MVC 2, más precisamente, no validando?
Hice lo siguiente:
Web.configs (en el directorio de aplicaciones y vistas)
<pages
validateRequest="false"
Controlador / Atributo de Acción
[ValidateInput(false)]
En la directiva de vista de página
ValidateRequest="false"
La página aún se valida y se lanza una excepción cuando se publica contenido HTML.
ACTUALIZAR
Creé una nueva aplicación ASP.NET MVC 2 y modifiqué el Índice del controlador de inicio para esto
[ValidateInput(false)]
public ActionResult Index(string InputText)
{
ViewData["Message"] = "Welcome to ASP.NET MVC!";
return View();
}
y mi página de vista
<% using(Html.BeginForm()){ %>
<%= Html.TextBox("InputText") %>
<input type="submit" />
<% } %>
Y aún el mismo problema, se lanza una excepción.
Debería leer el error más detenidamente la próxima vez:
Para permitir que las páginas anulen la configuración de validación de solicitud de la aplicación, configure requestValidationMode = "2.0" en la sección de configuración. Después de configurar este valor, puede deshabilitar la validación de la solicitud configurando validateRequest = "false"
Pongo esto en el web.config de la aplicación.
<system.web>
<httpRuntime requestValidationMode="2.0" requestPathInvalidCharacters="" />
</system.web>
Y funcionó.
Actualizar:
Estaba ejecutando ASP.NET 4 por eso: P
Inserte aquí la advertencia obligatoria sobre XSS.
Que haya decorado el controlador (o la acción) con ValidateInputAttribute
debería ser suficiente, ya que toda la validación se realiza en este nivel del controlador en ASP.NET MVC
Acabo de intentar esto ahora en una acción, y devuelve una alerta malvada () cuando lo publico, por lo que me atrevo a suponer que hay algo más aquí.
¿Tienes un HandleErrorAttribute
configurado en HandleErrorAttribute
lugar?