Практическое руководство. Проверка серверных элементов управления ASP.NET на соответствие определенному значению
Обновлен: Ноябрь 2007
Используя проверяющие элементы управления ASP.NET, можно проверить введенные пользователем данные, сравнив его с определенным значением, используя логические операторы. Например, можно указать, что запись пользователя — это дата после 1 января 1950 г. или что это целое число, которое больше или равно нулю. Или можно задать сравнение записи пользователя со значением из другого элемента управления.
Примечание о безопасности. |
---|
Данные, вводимые пользователем на веб-страницах ASP.NET, могут содержать потенциально опасный для клиента сценарий. Дополнительные сведения см. в разделе Общие сведения об использовании сценариев. |
Проверка по сравнению с определенным значением
Добавьте на страницу элемент управления CompareValidator и задайте следующие свойства:
Свойство
Описание
Идентификатор элемента управления, для которого пользователь должен ввести значение.
Свойства, указывающие текст и расположение сообщений об ошибках, которые отображаются, если пользователь пропускает элемент управления. Дополнительные сведения см. в разделе Практическое руководство. Управление отображением сообщений об ошибках проверки для серверных элементов управления ASP.NET.
Укажите значение для сравнения, задав следующие свойства.
Свойство
Описание
—либо—
Выражение, вводимое как строка. Для сравнения с константой задайте свойство ValueToCompare. Для сравнения со значением другого элемента управления укажите в качестве значения свойства ControlToCompare идентификатор этого элемента управления. (Элемент управления CompareValidator сравнивает введенные пользователем данные с любым свойством, заданным атрибутом ValidationPropertyAttribute другого элемента управления). При задании как ValueToCompare, так и ControlToCompare, ControlToCompare имеет преимущество.
Тип данных двух сравниваемых значений. Типы можно указать с помощью перечисления ValidationDataType, позволяющего использовать имя типа String, Integer, Double, Date или Currency. Перед сравнением выполняется преобразование значений в этот тип. Дополнительные сведения см. в разделе Практическое руководство. Проверка типа данных для серверных элементов управления ASP.NET.
Используемое сравнение. Укажите оператор, используя одно из следующих значений, определенных в перечислении ValidationCompareOperator:
Примечание. При выполнении проверки сравнением с другим элементом управления недопустимые значения в нем игнорируются и проверка проходит. Дополнительные сведения см. в разделе Результаты специальных проверок серверных элементов управления ASP.NET.
Добавьте в код проверку на допустимость значений. Дополнительные сведения см. в разделе Практическое руководство. Программная проверка допустимости значений серверных элементов управления ASP.NET.
В следующем примере кода демонстрируется проверка элемента управления TextBox с помощью элемента управления CompareValidator:
<table> <tr> <td> <asp:Textbox id="txtAge" runat="server"></asp:Textbox> </td> <td> <asp:CompareValidator id="CompareFieldValidator1" runat="server" ForeColor="Red" ControlToValidate="txtAge" ValueToCompare="0" Type="Integer" Operator="GreaterThanEqual" ErrorMessage="Please enter a whole number zero or greater."> </asp:CompareValidator > </td> </tr> </table>
<table> <tr> <td> <asp:Textbox id="txtAge" runat="server"></asp:Textbox> </td> <td> <asp:CompareValidator id="CompareFieldValidator1" runat="server" ForeColor="Red" ControlToValidate="txtAge" ValueToCompare="0" Type="Integer" Operator="GreaterThanEqual" ErrorMessage="Please enter a whole number zero or greater."> </asp:CompareValidator > </td> </tr> </table>
В следующем примере кода демонстрируется CompareValidator, проверяющий введенные пользователем данные сравнением со значением другого элемента управления. Эта страница позволяет пользователям выполнять бронирование в гостинице. Проверяющий элемент управления проверяет, что дата отъезда, введенная пользователем, находится позже даты прибытия. (В настоящем приложении будет необходимо ввести дату отъезда, которая также будет проверяться).
<table> <tr> <td> Arrive<asp:Textbox id="txtArrivalDate" runat="server"></asp:Textbox> Depart<asp:Textbox id="txtDepartureDate" runat="server"></asp:Textbox> </td> <td> <asp:CompareValidator id="CompareValidator1" runat="server" ForeColor="Red" ControlToValidate="txtDepartureDate" ControlToCompare="txtArrivalDate" Type="Date" Operator="GreaterThanEqual" ErrorMessage="Departure date cannot be earlier than arrival date."> </asp:CompareValidator > </td> </tr> </table>
<table> <tr> <td> Arrive<asp:Textbox id="txtArrivalDate" runat="server"></asp:Textbox> Depart<asp:Textbox id="txtDepartureDate" runat="server"></asp:Textbox> </td> <td> <asp:CompareValidator id="CompareValidator1" runat="server" ForeColor="Red" ControlToValidate="txtDepartureDate" ControlToCompare="txtArrivalDate" Type="Date" Operator="GreaterThanEqual" ErrorMessage="Departure date cannot be earlier than arrival date."> </asp:CompareValidator > </td> </tr> </table>
См. также
Основные понятия
Типы проверки для серверных элементов управления ASP.NET