379 MGraphics.ru - ASP.NET - Валидация данных в приложении
Уроки photoshopa


ASP.NET

Валидация данных в приложении

Условия перепечатки материалов

Рейтинг статьи: 11111
Проголосовало 6 человек.
Оцените статью:

Валидация данных в приложении

При создании серьезных веб-приложений почти наверняка возникнет проблема валидации - проверки правильности введенных данных. Например, что при регистрации пользователь ввел свое имя или что пароли совпадают. В веб-приложениях делать это можно с двух сторон - со стороны клиента и со стороны сервера. Каждый подход имеет свои достоинства и недостатки: при проверке на клиенте пользователь тут же получает информацию о неверном вводе, но позволяет искусственно отправить некорректные данные на сервер, при проверке на сервере информация точно будет корректна, но придется ждать результата проверки и для этого будет перегружена вся страница. В идеале, конечно, было бы совместить оба способа. Но при применении традиционных технологий это являлось довольно трудоемкой задачей. В ASP.NET проблема валидации решена очень просто - валидация инкапсулиорована в серверные контролы.

Каждый валидатор представляет собой контрол, который проверяет другой контрол (точнее, его значение) на соответствие определенному условию перед отсылкой формы и по прибытии ее на сервер. Для валидации на клиенте используется JavaScript-код (если JavaScript не поддерживается, валидация производится только на сервере). Если проверка не прошла, валидатор выводит сообщение об ошибке. К тому же есть специальный контрол ValidationSummary - сводка валидации. Он выводит список не прошедших проверок в одном месте.

Различных валидаторов предоставлено довольно много - они отличаются тестовыми условиями. RequiredFieldValidator, например, проверяет, заволнено ли поле ввода.

Для задания параметров проверки у валидаторов есть несколько общих атрибутов: ControlToValidate задает идентификатор контрола, подлежащего проверке. ErrorMessage - сообщение об оштбке. Text - выводимое сообщение (если он не указан, выводится сообщение об ошибке).

Кстати всем фанатам марки audi хочу посоветовать качественный сервис по ремонту стартеров ауди http://www.astarter.ru/buy-repair-starter-Audi.aspx, сервис приглянулся своей универсальностью, можно подобрать стартеры под любую марку абсолютно и дешевизной - цены довольно низкие по сравнению с другими салонами в Москве.

В заключение предоставим пример, демонстрирующий валидацию во всей красе.

<%@ Page language="c#" Codebehind="Default.aspx.cs" AutoEventWireup="false" Inherits="ru.spb.dotSITE.Portal.Tutorials.ASP.NET.Web_Forms.Using_Server_Controls.Validation_Application._Default" %>


    
        Default
        
        
        
        
    
    
        
User name: *
User e-mail: *
*
User password: *
Confirm password: *
*

using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;

namespace ru.spb.dotSITE.Portal.Tutorials.ASP.NET.Web_Forms.Using_Server_Controls.Validation_Application
{
    /// 
    /// Summary description for _Default.
    /// 
    public class _Default : System.Web.UI.Page
    {
    protected System.Web.UI.WebControls.Label Label2;
    protected System.Web.UI.WebControls.Label Label3;
    protected System.Web.UI.WebControls.Label Label4;
    protected System.Web.UI.WebControls.TextBox txtName;
    protected System.Web.UI.WebControls.TextBox txtEmail;
    protected System.Web.UI.WebControls.TextBox txtPassword;
    protected System.Web.UI.WebControls.TextBox txtConfirmPassword;
    protected System.Web.UI.WebControls.Button Button1;
    protected System.Web.UI.WebControls.ValidationSummary ValidationSummary1;
    protected System.Web.UI.WebControls.RequiredFieldValidator RequiredFieldValidator1;
    protected System.Web.UI.WebControls.RegularExpressionValidator RegularExpressionValidator1;
    protected System.Web.UI.WebControls.RequiredFieldValidator RequiredFieldValidator2;
    protected System.Web.UI.WebControls.CompareValidator CompareValidator1;
    protected System.Web.UI.WebControls.RequiredFieldValidator RequiredFieldValidator3;
    protected System.Web.UI.WebControls.RequiredFieldValidator RequiredFieldValidator4;
    protected System.Web.UI.WebControls.Label Label1;

        private void Page_Load(object sender, System.EventArgs e)
        {
            // Put user code to initialize the page here
        }

        #region Web Form Designer generated code
        override protected void OnInit(EventArgs e)
        {
            //
            // CODEGEN: This call is required by the ASP.NET Web Form Designer.
            //
            InitializeComponent();
            base.OnInit(e);
        }

        /// 
        /// Required method for Designer support - do not modify
        /// the contents of this method with the code editor.
        /// 
        private void InitializeComponent()
        {
      this.Load += new System.EventHandler(this.Page_Load);

    }
        #endregion

    }
}            
    

Разместил: Vulko
Опубликовано: 03.07.2004
Статья "ASP.NET - Валидация данных в приложении" прочтена 35916 раз.





Последние новости