Categorias

ASP.NET: Aprenda a validar datas com C#

Com esta função é possível validar datas com ASP.NET utilizando C#, inclusive anos bissestos.

public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void textBox1_Leave_1(object sender, EventArgs e)
        {
            if (textBox1.Text != "" && (textBox1.Text.Length < 10))
            {
                MessageBox.Show("Data Invalida", "Aviso do Sistema");
                textBox1.Clear();
                return;
            }
                      string dia, mes, ano;
                      string aux;
                      aux = textBox1.Text;
                       
            dia = aux.Substring(0, 2);
            mes = aux.Substring(3, 2);
            ano = aux.Substring(6, 4);

           
            if    (dia != "01" && dia != "02" && dia != "03" && dia != "04" && dia != "05" && dia != "06" 
                && dia != "07" && dia != "08" && dia != "09" && dia != "10" && dia != "11" && dia != "12"
                && dia != "13" && dia != "14" && dia != "15" && dia != "16" && dia != "17" && dia != "18"
                && dia != "19" && dia != "20" && dia != "21" && dia != "22" && dia != "23" && dia != "24"
                && dia != "25" && dia != "26" && dia != "27" && dia != "28" && dia != "29" && dia != "30"
                && dia != "31") 
            {
                MessageBox.Show("Data Invalida", "Aviso do Sistema");
                textBox1.Clear();
                return;
            }
            if  (mes != "01" && mes != "02" && mes != "03" && mes != "04" && mes != "05" && mes != "06"
                && mes != "07" && mes != "08" && mes != "09" && mes != "10" && mes != "11" && mes != "12")
            {
                MessageBox.Show("Data Invalida", "Aviso do Sistema");
                textBox1.Clear();
                return;
            }
            if ((dia == "29") && (mes == "02"))
            {
              if (!(Convert.ToInt32(ano) % 4 == 0) && (Convert.ToInt32(ano) % 100 != 0))
              {
                MessageBox.Show("Data Invalida", "Aviso do Sistema");
                textBox1.Clear();                
                return;
              }
            }
           

        }