asp.net CustomValidator срабатывает, но значение ServerValidateEventArgs всегда пусто - PullRequest
1 голос
/ 26 мая 2011

У меня проблема с реализацией CustomValidator, у меня есть несколько TextBox с MaskedEditExtender, все они должны содержать дату ("dd-MM-yyyy"). Чтобы проверить эту дату, я хочу использовать CustomValidator, но значение e.Value, переданное моей функции MyValidate, всегда пусто, а 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 с той же проблемой.

Кто-нибудь знает решение этой проблемы? Я предполагаю, что что-то упустил, но я не знаю что, аналогичное решение на другом сайте отлично работает.

1 Ответ

1 голос
/ 26 мая 2011

TargetControlID не является свойством CustomValidator, это должно быть ControlToValidate.Почему-то сообщения об ошибке не было, обычные валидаторы выдают исключение, если ControlToValidate не найден, а CustomValidator - нет.

...