2009-03-13 18 views
1

私はいくつかのタブがajax経由でロードされ、それぞれにバリデータセットがあります。私はタブが有効グループによるクライアント側の検証

である場合にのみ、ユーザがタブを変更できるようにしたい私はバリにvalidationgroupを設定すると思ったし、このような特定のグループをチェックし、働くだろう:

function validatePage(group) { 
    return Page_ClientValidate(group); 
} 

しかし、私は関数を呼び出し、常にtrueを返します。誰かが私が間違っているのを見ることができますか?

私はこの

alert(validatePage("presentaciones")); 

のようにそれをチェックして、私はいくつかのバリデータを持っている:

// (...) 
<asp:TextBox ValidationGroup="presentaciones" id="txtDescription" runat="server" Text='<%# Eval("Description") %>' MaxLength="50" /> 
<asp:RequiredFieldValidator ID="DescriptionRequiredFieldValidator" runat="server" ControlToValidate="txtDescription" SetFocusOnError="true" ValidationGroup="presentaciones" ErrorMessage="Debe ingresar una descripción" Display="Dynamic" /> 
// (...) 

答えて

0

私はグループがPage.Validate(group)でサーバー側に動作してきたが、私は、これはクライアントを行うことができる知りませんでした-側。おそらく、各タブの状態をチェックするカスタムの検証コントロールを実装する必要があります。

0

私の推測では、検証スクリプトは配線されていないということです。あなたの関数でアラート((typeof(Page_Validators)== "undefined"))を実行し、trueを表示するかどうかを確認します。あなたはajax経由でタブを読み込んでいると言っています。ページのどこかにバリデーターを置くと、バリデーションスクリプトが完成するのを助けるでしょうか。監視する

他の事は、Firefoxとレガシーレンダリングモードです....クライアント側は単なるそのシナリオでは動作しません。

0

これはクライアント側で行うことができます。このように:たまに

$('.buttonWithSameValidationGroup').bind('click', function() { 
       if (Page_ClientValidate($(this).attr('validationgroup'))) { 
    //do stuff 
    } 
}); 

あなたがページPre_Render方法で、以下のサーバー側のコードを追加する必要があるかもしれません

button1.AddAttributes("validationgriup","group1"); 
関連する問題