Преглед на контролите за валидиране на ASP.Net

Контролите за валидиране на ASP .Net предоставят механизъм за проверка на потребителския вход, преди да ги изпратите на сървъра. Това предотвратява съхранението на недобросъвестни, злонамерени и безсмислени данни в сървъра / базата данни. По същество тези контроли за проверка гарантират, че данните, попълнени от потребителя в полетата на формулярите, са истински и съответстват на изискванията.

Как работят?

За да разберем работата на ASP.Net Validation Controls, нека да разгледаме класа, който всички контроли наследяват. Ако не сте запознати с понятието наследство, препоръчваме ви да го разберете преди да продължите.

Класът BaseValidator

Всички контроли за проверка в ASP.Net наследяват свойствата и методите на клас BaseValidator. Той помага да се направи общ набор от контроли за проверка. Важните свойства и методи на клас BaseValidator са:

  • ControlToValidate - Показва контрола на входа за валидиране. Тя трябва да бъде уникална стойност в цялата форма. Този атрибут е задължителен, тъй като се използва за свързване на входния контрол с контрола за валидиране.
  • Enabled - Разрешава или деактивира валидатора.
  • Текст - Той държи съобщението да се показва в случай на неуспех на валидиране.
  • ErrorMessage - Стойността в този атрибут се показва или когато се използва контрол ValidationSummary или когато липсва свойството Text.
  • IsValid - Булов атрибут, който показва дали контрола е валиден или не.
  • Validate () - Този метод възстановява контрола и актуализира IsValid

Видове контрол на валидирането на ASP.Net

Следват типовете контроли за проверка на ASP.NET:

1. ЗадължителноFieldValidator

Това е елементарен контрол за валидиране. Почти всички формуляри имат някои полета, които задължително се попълват от потребителя, преди да продължите напред. Необходимият валидатор на полето гарантира, че такива полета не се оставят празни.

Синтаксис

runat="server" ControlToValidate ="someUniqueControlId"
ErrorMessage="ErrorToDisplayOnValidationFailure"
InitialValue="aPlaceholderValue">

Забележете атрибута Начална стойност в синтаксиса по-горе. Това, въпреки че действа като заместител, в допълнение, валидирането се проваля, ако стойността на полето не се промени от InitialValue при загуба на фокус.

Забележка - Не се притеснявайте много за атрибута runat = „server . Той се използва, за да покаже на ASP.Net, че контролът е наличен и от страна на сървъра. Предоставянето на контрола на разположение от страна на сървъра помага за достъпа до контрола по логика на кода.

2. RangeValidator

Контролът RangeValidator просто указва разрешения диапазон, в който входната стойност трябва да пада. Това е най-полезно за цифрови входни стойности като възраст или за стойности за въвеждане на дата.

Синтаксис

runat="server" ControlToValidate ="someUniqueControlId"
ErrorMessage="ErrorToDisplayOnValidationFailure"
Type="Integer" MinimumValue=”0” MaximumValue=”100”>

Има три допълнителни свойства на това управление

  • Тип - указва типа данни в полето за въвеждане. Стойността се преобразува в този тип преди валидиране. Изключение се хвърля, ако стойността не може да бъде преобразувана в посочения тип. Следните типове данни могат да бъдат сравнени в RangeValidator:
    1. низ
    2. цяло число
    3. двойно
    4. Дата
    5. Валута
  • MinimumValue - Посочва минималната стойност, която полето може да задържи.
  • MaximumValue - Посочва максималната стойност, която полето може да задържи. И минималните и максималните стойности са включени инвалиди.

3. RegularExpressionValidator

  • RegularExpressions или просто Regex са модели, които определят формата на текста. Ако текстът е в същия формат, Regex връща true, в противен случай невярно. Препоръчва се да прочетете за Regex, ако не сте запознати с него. Това също ще ви даде представа за това как се формират модели на Regex и как да дешифрирате шаблон на Regex.
  • По този начин, RegularExpressionValidator е много универсален контрол на валидирането. Той съвпада с въведения текст спрямо шаблона, посочен в свойството ValidationExpression.

Синтаксис -

runat="server" ControlToValidate ="someUniqueControlId"
ErrorMessage="ErrorToDisplayOnValidationFailure"
ValidationExpression=”aRegexPattern”>

Пример за модел на Regex може да бъде (az) (0-9). Това показва, че текстът трябва да започва с азбука и последван от цифра.

4. СравнетеValidator

  • Контролът CompareValidator сравнява стойността на едно управление с фиксирана стойност или със стойност в друга контрола.

Синтаксис -

runat="server" ControlToValidate ="someUniqueControlId"
ErrorMessage="ErrorToDisplayOnValidationFailure"
Type="string" ControlToCompare=”ControlToValidateIdOfAnotherControl”
ValueToCompare=”aFixedValue” Operator=”Equal”>

В този валидатор има три нови свойства:

  • ControlToCompare - притежава идентификатора ControlToValidate на друга форма на контрол. След това се сравнява стойността на двете формулярни полета.
  • ValueToCompare - Фиксирана стойност, с която трябва да се направи сравнението.
  • Оператор - Видът на сравнението. Разрешените стойности в този атрибут са:
    1. равен
    2. Не е равно
    3. По-голям от
    4. GreaterThanEqual
    5. По-малко от
    6. LessThanEqual
    7. DataTypeCheck

5. CustomValidator

  • ASP.Net също така позволява свободата да пишете свой валидатор. Това облекчава задачата на програмист да валидира формата от самата страна на клиента. Той също така позволява поставянето на по-сложни проверки. Проверките, които са специфични за бизнеса или за приложението, могат да бъдат написани с помощта на персонализирани валидатори.
  • Персонализираният код за валидиране се записва във функция в страницата с код, а името на функцията се предава като атрибут на класа CustomValidator. Проверката по избор може да се извърши или от страна на клиента, или от страна на сървъра.
  • Свойството ClientValidationFunction указва, че валидирането трябва да се извърши от страна на клиента. Такъв код за валидиране трябва да бъде написан на някои скриптови езици като JavaScript, VBScript и т.н.
  • Обработващият събитие ServerValidate се използва, когато проверката трябва да се извърши от страна на сървъра. Рутината за валидиране от страна на сървъра е написана на C #, VB .Net или на друг език .Net.

Синтаксис -

runat="server" ControlToValidate ="someUniqueControlId"
ErrorMessage="ErrorToDisplayOnValidationFailure"
ClientValidationFunction=”functionName”>

6. ValidationSummary

Контролът ValidationSummary не извършва никаква проверка. Целта му е да покаже обобщение на всички грешки на страницата.

Синтаксис -

runat="server" DisplayMode=”BulletList” ShowSummary=”true”
HeaderText=”List of Errors” />

Заключение - ASP .Net Validation Controls

Тази статия обхваща основите на контролите за валидиране в ASP .Net. Има още много неща, които трябва да откриете, след като започнете да изграждате уеб формата си. За напреднали кодери препоръчваме MSDN документация за задълбочено разбиране на темата.

Препоръчителни статии

Това е ръководство за контрола за валидиране на ASP.Net. Тук обсъдихме Въведение, типове със синтаксиса на ASP.Net Validation Control. Можете също да прегледате и другите ни предложени статии, за да научите повече-

  1. Жизнен цикъл на страницата на ASP.NET
  2. Какво е ASP.NET?
  3. JSP срещу ASP
  4. Asp.Net MVC Въпроси за интервю
  5. Функции на Regex в Python (пример)