2010-12-07 52 views
5

Quiero usar jQuery ($ .post) para enviar mi formulario html, pero quiero usar la función de validación del lado del cliente de MVC 2. Actualmente conecto la función de publicación al " OnSubmit" caso de la etiqueta de formulario, pero no se pueden enganchar en la validación, lo ideal es que quiero ser capaz de hacerMVC 2 jQuery validación & ajax formulario

if (formIsValid) { 
    $.post('<%=Url.Action("{some action}")%>'... 
} 

Tenga en cuenta que la validación del lado del cliente está trabajando con jQuery.validation, sólo puede' Lo hago para probar si la validación fue exitosa o no antes de publicar mis datos.

Andrew

La solución final

<% 
    Html.EnableClientValidation(); 
    using (Html.BeginForm("Register", "Account", FormMethod.Post, new { id = "registrationForm" })) { 
%> 
... 
<button type="submit" onclick="return submitRegistration();">Register</button> 
<% 
    } 
%> 



<script type="text/javascript"> 
    function submitRegistration() { 
    if ($("#registrationForm").valid()) { 
     $.post('<%=Url.Action("{some action}")'... 
    } 
    // this is required to prevent the form from submitting 
    return false; 
    } 
</script> 

Respuesta

2

Puede iniciar la validación de jQuery en el evento de clic de botón. Coloque el siguiente dentro de su botón de clic controlador de eventos:

if ($('form').valid()) 
    //take appropriate action for a valid form. e.g: 
    $('form').post('<%=Url.Action("{some action}")%>') 
else 
    //take appropriate action for an invalid form 

Ver el plugin de validación documentation para más información.

Cuestiones relacionadas