У меня есть специальный валидатор полей, который запускает некоторый код на стороне клиента для проверки значения текстового поля. Если значение недействительно, я хотел бы отобразить сообщение в пользовательском валидаторе. Я могу назначить значение для валидатора, но когда он загружается на страницу, он устанавливается на видимость = скрытый или отображение = нет. Я попытался установить оба свойства видимыми на стороне клиента и в валидаторе.
Клиентская сторона:
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>
Как я могу заставить это быть видимым?