2012-03-25 16 views
0

私はCustomValidatorを使用してユーザー名の可用性をチェックしていますが、呼び出されていません(ブレークポイントでもチェックしています)。CustomValidatorが呼び出されていません

<asp:CustomValidator ID="usernameC" runat="server" ErrorMessage="Username is already taken" ControlToValidate="txtUsername" Display="None" OnServerValidate="usernameC_ServerValidate" /> 

コードビハインド

protected void usernameC_ServerValidate(object source, ServerValidateEventArgs args) 
{ 
    if (new UsersBL().SearchUserByUsername(args.Value) == null) 
     args.IsValid = true; 
    else 
     args.IsValid = false; 
} 

問題がある可能性がありますか?

+0

なぜDisplay = "None"に設定しますか?静的に設定してください。 – PraveenVenu

+0

@PraVn私はValidationSummaryコントロールを使用しています – chris05

+0

'CustomValidator'の' ClientValidationFunction'プロパティを使用して、クライアント側でそれを検証するためのjavascript関数を書くことができます。 – PraveenVenu

答えて

1

ページがサーバーに送信されるときに呼び出されます。例えばasp:ボタンがあり、ユーザーがクリックすると、そのページがサーバーに送信され、button_clickイベントを呼び出す前にサーバー検証機能が呼び出されます。

+0

私は問題が何かを理解しましたが、他のバリデーター(オートポストバック)と同じように呼び出すことが可能です。クライアント側ではなくサーバー側であるため不可能かもしれません。 – chris05

+0

正確に何をしたいですか?あなたはポストバックを行うためにjavascriptを使用して、 –

+0

と呼ばれる検証関数を得ることができます。それは私の理想的な選択です。 – chris05

関連する問題