1

ajax 経由で読み込まれるいくつかのタブがあり、それぞれにバリデーターのセットがあります。タブが有効な場合にのみ、ユーザーがタブを変更できるようにしたい

バリデーターに検証グループを設定してから、次のように特定のグループを確認するとうまくいくと思いました:

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" />
// (...)
4

3 に答える 3

0

私の推測では、検証スクリプトが接続されていません。関数で alert((typeof(Page_Validators) == "undefined")) を実行し、true が表示されるかどうかを確認します。あなたはajax経由でタブをロードしていると言いました。ページのどこかにバリデーターを配置すると、検証スクリプトを接続するのに役立つかどうかを確認したい場合があります。

もう 1 つ注目すべき点は、Firefox と従来のレンダリング モードです。クライアント側は、そのシナリオでは単純に機能しません。

于 2009-03-13T14:17:22.930 に答える
0

これは、クライアント側で実行できます。このような:

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

Page Pre_Render メソッドに次のサーバー側コードを追加する必要がある場合があります。

button1.AddAttributes("validationgriup","group1");
于 2012-06-21T18:51:31.870 に答える
0

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

于 2009-03-13T13:42:49.703 に答える