La validación de cliente MVC2 no funciona cuando se obtiene un formulario de una llamada ajax

Estoy tratando de usar la validación del lado del cliente MVC2 en una vista parcial que se procesa a través de $ .get. Sin embargo, la validación del cliente no está funcionando. No estoy muy seguro de cuál es el trato.

[Required(ErrorMessage = "Email is required")] public string Email { get; set; }   m.Email, new { @class = "TextBox150" } )%>  m.Email )%>   

No estoy haciendo nada especial para renderizar la vista parcial. Solo colocando el html en un div y mostrándolo en una ventana emergente modal.

En una nota al margen, ¿alguien sabe si es posible enviar el formulario con la validación del cliente sin un botón de envío?

Hace algún tiempo escribí una publicación sobre este problema, podría usarla como punto de inicio en su situación (tendrá que modificar el lugar donde llama a las funciones y pasar el elemento correcto para procesar): http://tpeczek.com/ 2010/04 / making-aspnet-mvc-2-client-side.html

La validación del lado del cliente de MVC2 se basa en algunos javascript adicionales que se representan en la página que codifica las reglas de validación del modelo. Creo que puede obtener esto desde una vista parcial, aunque no lo he intentado, siempre y cuando incluya la llamada EnableClientValidation en su vista parcial justo antes de comenzar el formulario. Asegúrese de tener el javascript del cliente MVC incluido en la vista principal.

 <% Html.EnableClientValidation(); %> <% using ( Ajax.BeginForm( new AjaxOptions { Confirm = "You sure?" } ) ) { %> <%: Html.TextBoxFor( m => m.Email, new { @class = "TextBox150" } )%> <%= Html.ValidationMessageFor( m => m.Email )%>  <% } %> 

Normalmente uso la validación basada en el modelo MVC2 junto con el complemento de validación jQuery utilizando el javascript de cola MVC / jQuery del código MVCFutures. Sé que esto funciona en el envío del formulario, ya sea que el envío se active mediante un botón de envío o javascript. Todos mis “botones” son realmente enlaces que activan el envío de formularios a través de javascript y funciona para mí. Supongo que esto es cierto para los scripts de validación de MVC estándar, pero no los he usado.