2010-12-07 4 views
5

Ich möchte jQuery ($ .post), um meine HTML-Formular senden, aber ich möchte die Client-Seite Validierungsfunktion von MVC 2 verwenden. Derzeit hänge ich die Post-Funktion auf die " OnSubmit“Ereignis des Formulars Tag, aber ich kann in die Validierung nicht Haken, idealerweise ich möchte in der Lage sein zu tun,MVC 2 jQuery Validierung & Ajax Formular

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

Bitte beachten Sie, Client-seitige Validierung arbeitet mit jQuery.validation, kann ich nur‘ t es zu testen, ob die Validierung erfolgreich war oder nicht, bevor ich meine Daten poste.

Andrew

Die Endlösung

<% 
    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> 

Antwort

2

Sie können jQuery Validierung auf die Schaltfläche Click-Ereignis auslösen. Legen Sie die folgenden in Ihrem Button-Klick-Ereignis-Handler:

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 

Siehe Validation Plugin documentation für weitere Informationen.