Customvalidator на стороне сервера (asp + vb.net) не запускается - PullRequest
0 голосов
/ 16 мая 2011

Я знаю, что об этом часто спрашивают, но у меня есть пользовательский валидатор на стороне сервера, который не запускается, и я не могу найти почему (также я скопировал примеры, которые работают из других мест и не могут заставить его работать) ...)

код:

<asp:CustomValidator ID="MyValidator" runat="server" ErrorMessage="My error message" OnServerValidate="MyValidator_OnServerValidate" />

Подтвердить функцию

    Protected Sub MyValidator_OnServerValidate(ByVal source As Object, ByVal args As System.Web.UI.WebControls.ServerValidateEventArgs) Handles MyValidator.ServerValidate
    Dim i As Integer
    i = 0
    args.IsValid = False
End Sub

Это последний тест, который я делаю (скопированный из другого вопроса), но я также пытался присоединить валидатор к одному элементу управления (и добавить ValidateEmptyText), удалить handles MyValidator.ServerValidate и добавить его в тег с onServerValidate.

(Я обычно программист на Java, поэтому это может быть очень простая ошибка, которую я должен был увидеть, не стоит недооценивать мое невежество в .Net)

Заранее спасибо

РЕДАКТИРОВАТЬ : Добавить код для кнопки отправки ...

<asp:Button ID="lbGuardar" runat="server" CssClass="button" Text="Guardar" CausesValidation="true" ></asp:Button>

РЕДАКТИРОВАТЬ 2: Добавлен Page.validate() на мой код кнопки, и он не вызывает серверную часть валидатора. Также вызывается пользовательский валидатор (по крайней мере, на стороне клиента / javascript, но не на стороне сервера)

Ответы [ 3 ]

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

Не удалось заставить его работать.Удален пользовательский валидатор и сделаны проверки внутри логики.

0 голосов
/ 16 мая 2011

Должен быть публичным методом и не нуждаться в дескрипторах.

Public Sub MyValidator_OnServerValidate(ByVal source As Object, ByVal args As System.Web.UI.WebControls.ServerValidateEventArgs)

    Dim i As Integer
    i = 0
    args.IsValid = False

End Sub
0 голосов
/ 16 мая 2011

В верхней части головы я попытался бы изменить Защищенный Sub на Public Sub.

РЕДАКТИРОВАТЬ: Я только что проверил ваш код и то, что у вас есть, работает для меня. Я вошел в Debug и нажал кнопку, которая отправляла туда, где он сначала вошел в MyValidator.ServerValidate, как и должно быть. Страница становится недействительной и отображается сообщение об ошибке.

...