Установка и отображение ошибки для пользовательской проверки с помощью кода на стороне клиента - PullRequest
2 голосов
/ 03 января 2011

У меня есть специальный валидатор полей, который запускает некоторый код на стороне клиента для проверки значения текстового поля. Если значение недействительно, я хотел бы отобразить сообщение в пользовательском валидаторе. Я могу назначить значение для валидатора, но когда он загружается на страницу, он устанавливается на видимость = скрытый или отображение = нет. Я попытался установить оба свойства видимыми на стороне клиента и в валидаторе.

Клиентская сторона:

 if (data.d == null) {
                    sender.errormessage = $('#<%= txtHaulerNumber.ClientID %>').val() + " is not a valid Hauler Number.";
                    sender.innerHTML = $('#<%= txtHaulerNumber.ClientID %>').val() + " is not a valid Hauler Number.";
                    sender.text = $('#<%= txtHaulerNumber.ClientID %>').val() + " is not a valid Hauler Number.";
                    $('#<%= cfvHaulerNumber.ClientID %>').visible = true;
                    args.IsValid = false;
                    $('#<%= txtHaulerNumber.ClientID %>').focus();
                }

ASP валидатор

<asp:CustomValidator ID="cfvHaulerNumber" runat="server" ControlToValidate="txtHaulerNumber" 
            ErrorMessage="" onservervalidate="cfvHaulerNumber_ServerValidate"
            ValidateEmptyText="true" ClientValidationFunction = "GetHauler" EnableClientScript = "true" 
            Visible = "true" Display = "Static"></asp:CustomValidator>

UPDATE: Я уверен, что метод работает, поскольку он переформатирует текст, который я ввожу в текстовое поле. Когда я открываю Firebug и смотрю на HTML, я вижу, что сообщение об ошибке назначается валидатору, но что-то заставляет его скрываться.

<span style="color: Red; visibility: hidden;" id="ctl00_ContentPlaceHolder1_cfvHaulerNumber"></span>

Как я могу заставить это быть видимым?

Ответы [ 2 ]

0 голосов
/ 10 сентября 2013

Поздний ответ, но, валидатор будет скрыт, только если его свойство IsValid установлено на True .

Возможно, вы захотите проверить и настроить свой JavaScript соответствующим образом.

0 голосов
/ 03 января 2011

Я провел несколько тестов, и кажется, что CustomValidator не работает в FireFox с ASP.NET 4.0.Он отлично работает в IE.Он отлично работает в FF с .NET 2.0.

Я провел некоторый поиск и, похоже, это проблема с Validators с 1.1, которая была решена в 2.0.Хотите знать, есть некоторые другие настройки, необходимые в 4.0.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...