0

CustomValidatorを初めて使用していますが、DateExpireRequired_ServerValidateを起動していないようで、クリックアクションでコードを実行するだけです。

数時間私を悩ませてきました!誰かが私がしていることに問題を見ることができますか?

以下の私のコードのDropDownListは、Roles.GetAllRoles()を使用して入力されます

ASP.NET

<asp:Label ID="lUserRole" runat="server" AssociatedControlID="tUserRole">User Role:</asp:Label>
<asp:DropDownList ID="tUserRole" runat="server" CausesValidation="True">
</asp:DropDownList>

<asp:Label ID="lDateExpire" runat="server" AssociatedControlID="tDateExpire">Date Expire:</asp:Label>
<asp:TextBox ID="tDateExpire" runat="server"></asp:TextBox>
<asp:CustomValidator ID="DateExpireRequired" runat="server"
                ControlToValidate="tDateExpire" ErrorMessage="Date Expire is required for 'Users'." OnServerValidate="DateExpireRequired_ServerValidate"
                ToolTip="Date Expire is required for 'Users'." CssClass="frmError"></asp:CustomValidator>

コードビハインド

    Sub DateExpireRequired_ServerValidate(source As Object, args As System.Web.UI.WebControls.ServerValidateEventArgs)

    If tUserRole.SelectedValue = "User" Then
        If tDateExpire.Text <> "" Then
            args.IsValid = False
        Else
            args.IsValid = True
        End If
    Else
        args.IsValid = True
    End If

End Sub

ありがとうJ。

4

2 に答える 2

1

Enabled="false"カスタムバリデーター定義があります。これがそのバリ​​データーを無効にしていると思います。

于 2011-10-04T15:51:06.343 に答える
0

答えは、上記のMenno vandenHeuvelのコメントのとおりでした。

validateemptytextをTrueに設定していますか?イベントハンドラーで空の文字列をチェックしているようですが、バインドされたコントロールの値が空の場合、イベントハンドラーは実行されません。

于 2011-10-06T10:36:44.420 に答える