2010-12-07 19 views
5

jQuery($ .post)を使用してHTMLフォームを送信したいのですが、MVC 2のクライアント側の検証機能を使用したいと思います。現在、私は " OnSubmitの」formタグのイベントが、私は「理想的な私は、クライアント側の検証がjQuery.validationと協力して、私はちょうどすることができますのでご注意くださいMVC 2 jQueryの検証とajaxのフォーム

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

を行うことができるようにしたい、検証にフックすることはできませんデータを投稿する前に検証が成功したかどうかをテストする必要はありません。

アンドリュー

最終溶液

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

答えて

2

あなたはボタンのクリックイベントにjQueryの検証を開始することができます。あなたのボタンをクリックしてイベントハンドラ内で次のように置き:

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 

詳細については、検証プラグイン documentationを参照してください。

関連する問題