В настоящее время ASP.NET дает возможность без особых усилий проверять информацию вводимую пользователем, используя стандартные средства, такие как:
- RequiredFieldValidator Control – используется для того, чтобы проверить не оставил ли пользователь пустым поле ввода.
- CompareValidator Control – выполняет проверку ввода с помощью операторов сравнения (больше, меньше, равно) . В качестве аргумента для сравнения может использоваться как постоянная вел., так и значение др. поля.
- RangeValidator Control – используется, когда нам заранее известен диапазон значений, которое может принимать текстовое поле.
- RegularExpressionValidator Control – выполняет проверки данных, на основе регулярных выражений
- CustomValidator control – используется для создания своей логики проверки данных.
RequiredFieldValidator инкапсулирует клиентскую и серверную логику проверки в данном случае того, что введено имя пользователя. Чтобы обеспечить проверку на клиентской стороне, этот элемент генерирует JavaScript-код в клиентском браузере, и этот сценарий гарантирует, что пользовательский ввод отвечает всем правилам проверки до обратной передачи формы на сервер.
Элемент управления RegularExpressionValidator является очень мощным инструментом для разработки на ASP .NET. С его помощью можно произвести проверку вводимого выражения по шаблону, заданному в регулярном выражении. Надо лишь установить нужное регулярное выражение в свойстве ValidationExpression.
Регурярные выражения в свою очередь представляют собой инструмент для опр. сложных правил, задания требуемых символов и их последовательности.
Данное регулярное выражение определяет, что проверяемая строка должна начинаться с определенного количества символов (.*) и содержать символ @, далее не менее 2х символов под имя домена, точку (\.) и не менее 2х символов под расширение домена.
Основные причины использования валидации:
- вы можете декларативно выражать правила проверки для страницы в одном месте;
- проверка на клиентской стороне предотвращает обмен данными с сервером, если пользовательский ввод не прошел правила проверки;
- проверка на серверной стороне делает бесполезной злонамеренное вмешательство в клиентский сценарий;
- логика на серверной и клиентской сторонах остается в синхронизированном состоянии, не вызывая проблем в сопровождении.