Простой запрос о валидаторах управления в ASP.NET
Я использую следующий валидатор сравнения:
<asp:CompareValidator ID="CompareValidator1" runat="server" ControlToValidate="DropDownList1" ErrorMessage="None can't be selected!"
Operator="NotEqual" ValueToCompare="None"></asp:CompareValidator>
через следующий выпадающий список:
<asp:DropDownList ID="DropDownList1" runat="server" Height="17px" Width="181px">
<asp:ListItem>None</asp:ListItem>
<asp:ListItem>One</asp:ListItem>
<asp:ListItem>Two</asp:ListItem>
<asp:ListItem>Three</asp:ListItem>
</asp:DropDownList>
Вот что происходит: изначально ничего не происходит, и по умолчанию выбрано "Нет". Если я выберу любую другую опцию и затем выберу "Нет", это даст мне ошибку.
Я хочу, чтобы валидатор сразу отображал ошибку при первой загрузке страницы, не дожидаясь, пока пользователь переключится на какую-то другую опцию, и не вернувшись к "Нет", или дождавшись, пока пользователь отправит форму, прежде чем отображение формы снова.
Как мне этого добиться?
2 ответа
Попробуйте что-то вроде этого:
protected void Page_PreRender(object sender, EventArgs e)
{
Page.Validate();
}
Работает на моей простой тестовой странице.
Прочитав ваш сценарий, я думаю, что вы должны установить Operator="Equal"
, Если значение равно "None", то произойдет ошибка "None не может быть выбран!".