1

CustomValidator の実装に問題があります。MaskedEditExtender を持つ TextBoxes が複数あります。すべてに日付 ( "dd-MM-yyyy") が含まれている必要があります。この日付を確認するには、CustomValidator を使用したいのですが、MyValidate 関数に渡される e.Value は常に空ですが、TextBox は空ではありません。

コード:

<asp:TextBox ID="Gereed" runat="server" CssClass="date" />
<asp:CustomValidator ID="cd1" runat="server" TargetControlID="Gereed" />
<asp:MaskedEditExtender ID="md1" runat="server" TargetControlID="Gereed" 
     Mask="99-99-9999" ClearMaskOnLostFocus="false"/>

コードビハインド:

Protected Sub Page_Init(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Init
    cd1.ValidateEmptyText = True
    AddHandler cd1.ServerValidate, AddressOf ValidateDate 
End Sub
Protected Sub ValidateDate(ByVal sender As Object, ByVal e As ServerValidateEventArgs)
    e.IsValid = MyValidate(e.Value, "dd-MM-yyyy")
End Sub

同じ問題を抱えている ClientValidationFunction がありました。

誰もこれに対する解決策を知っていますか? 私は何かが欠けていると思いますが、何かわかりません.別のWebサイトの同様のソリューションは完全に機能します.

4

1 に答える 1

1

TargetControlID は CustomValidator のプロパティではなく、ControlToValidate である必要があります。ControlToValidate が見つからない場合、通常の Validators は例外をスローしますが、CustomValidator は例外をスローしません。

于 2011-05-26T12:19:36.197 に答える