Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ПвИ / Конспект лекций.doc
Скачиваний:
267
Добавлен:
01.06.2015
Размер:
1.05 Mб
Скачать

RequiredFieldValidator

Как уже говорилось, RequiredFieldValidator проверяет заполнение соответствующего поля. Он отлично работает с элементами управления TextBox, представляющими обязательные поля формы, так как если один них окажется пустым, RequiredFieldValidator не позволит возвратить форму серверу. Вот пример, в котором проверяется, что поле ввода «EMail» заполнено:

<asp:TextBox ID="EMail" RunAt="server" />

<asp:RequiredFieldValidator

ControlToValidate="EMail"

ErrorMessage="Required field"

Display="static"

RunAt="server" />

RangeValidator

Элемент управления RangeValidator проверяет, попадает ли введенное значение в заданный диапазон. Допустим необходимо, чтобы пользователь ввел значение в процентах из диапазона от 0 до 100 включительно:

<asp:TextBox ID="Percent" RunAt="server" />

<asp:RangeValidator

ControlToValidate="Percent"

MinimumValue="0"

MaximumValue="100"

Type="Integer"

ErrorMessage="Value out of range"

Display="static"

RunAt="server" />

Атрибут Type указывает тип данных, используемых для сравнения. Если значе­ние Туре не указано, по умолчанию принимается String. Type = «Integer» выполняет числовое сравнение целых. Другими допустимыми значениями этого свойства являются Currency, Date и Double. В следующем примере выводится сообщение об ошибке, если введенная дата не относится к четвертому кварталу 2003 г.:

<asp:TextBox ID="MyDate" RunAt="server" />

<asp:RangeValidator

ControlToValidate="MyDate"

MinimumValue="10/01/2003"

MaximumValue="12/31/2003"

Type="Date"

ErrorMessage="Date out of range"

Display="static"

RunAt="server" />

CompareValidator

Этот элемент управления проверяет введенные данные, сравнивая их с констан­той, указанной атрибутом ValueToCompare, или со значением из другого элемен­та управления, заданного атрибутом ControlToCompare.

Допустим, предлагается ввести минимальное и максимальное значения, задающие границы диапазона. Нет смысла работать с максимумом, ко­торый меньше минимума. В следующем примере проверяющий элемент управления обнаружива­ет ошибку, если максимум меньше минимума. Атрибут Operator определяет, что значение в поле «Maximum» должно быть больше или равно значению, введенно­му в поле «Minimum». Атрибут Туре задает тип сравниваемых данных:

<asp:TextBox ID="Minimum" RunAt="server" />

<asp:TextBox ID="Maximum" RunAt="server" />

<asp:CompareValidator

ControlToValidate="Maximum"

ControlToCompare="Minimum"

Type="Integer"

Operator="GreaterThanEqual"

ErrorMessage="Invalid maximum"

Display="static"

RunAt="server" />

Другими допустимыми значениями атрибута Operator являются Equal, NotEqual, GreaterThan, LessThan, LessThanEqual и DataTypeCheck. Последнее проверяет тип введенных данных на соответствие типу, указанному атрибутом Туре. Так, чтобы просто проверить, является ли введенная пользователем строка целым числом, следует установить Туре в Integer, a Operator в DataTypeCheck.

Другой пример применения CompareValidator — сравнение двух паролей на стра­нице, предлагающей пользователю ввести пароль и затем повторить его, чтобы убедиться в правильности ввода:

<asp:TextBox ID="Password1" TextMode="Password" RunAt="server" />

<asp:TextBox ID="Password2" TextMode="Password" RunAt="server" />

<asp:CompareValidator

ControlToValidate="Password2"

ControlToCompare="Password1"

Type="String"

Operator="Equal"

ErrorMessage="Mismatch"

Display="static"

RunAt="server" />

В подобных случаях важно проверять не первое из двух полей, а второе, чтобы CompareValidator не срабатывал при переходе фокуса ввода от первого поля ко второму.

Замечание: CompareValidator сравнивает строки с учетом регистра. В слу­чае паролей это обычно то, что нужно, но вообще сравнение с учетом регистра может оказаться неподходящим.

Соседние файлы в папке ПвИ