У меня есть DropDownList, связанный с БД. Я также вручную добавляю к нему пункт "(другое)"
Когда пользователь выбирает «(другое)», JQuery запускает и .Show()
скрытое <asp:TextBox>
, где пользователь должен что-то ввести.
Я пытаюсь проверить этот TextBox. Конечно, поскольку я просто скрываю это с помощью клиентской стороны, я не могу использовать RequiredFieldValidator + RegularExpressionValidator, поэтому я попробовал CustomValidator, с которым я не очень знаком:
protected void validatorOther(object sender, ServerValidateEventArgs e)
{
if (dropdownVisitorType.SelectedItem.ToString() == "(other)")
{
e.IsValid = (textboxOtherVisitorType.Text != "");
}
}
protected void buttonRegister_Click(object sender, EventArgs e)
{
//a whole bunch of code here...
}
А потом из моего aspx
<asp:CustomValidator runat="server" id="validatorOtherVisitorType" ValidateEmptyText="true" onservervalidate="validatorOther" errormessage="*" />
Когда я пытаюсь отладить, кажется, что e.IsValid
успешно вернет false
. Тем не менее, моя веб-страница, похоже, просто игнорирует ее и в любом случае продолжает действовать, делая валидатор бесполезным. Что я делаю не так?