Kiểm tra tính hợp lệ của một ngày nhập vào trong C#

Ở ví dụ minh họa bên dưới, Góc Kinh Nghiệm sẽ trình bày cách kiểm tra giá trị nhập vào có phải là một ngày/tháng/năm hợp lệ hay không. Nếu không hợp lệ sẽ xuất ra thông báo là “Ngày không hợp lệ” và xóa sạch ngày tháng năm vừa nhập vào.

Ví dụ bên dưới sẽ sử dụng đối tượng MaskedTextBox có tên là MaskedTextBox1 (thay vì dùng TextBox thì MaskedTextBox thích hợp hơn trong việc dữ liệu đầu vào là ngày/tháng/năm)

Dưới đây là code hoàn chỉnh, được viết trên VS2005

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms; 

namespace MyProject.DateTimeIssue
{
   public partial class FormCheckDate : Form
   {
      public FormCheckDate()
      {
         InitializeComponent();
         maskedTextBox1.Mask = "00/00/0000";
         maskedTextBox1.KeyUp += new KeyEventHandler(msDate_KeyUp);
      }

      void msDate_KeyUp(object sender, KeyEventArgs e)
      {
         if (maskedTextBox1.MaskFull)
         {
            try
            {
               DateTime.ParseExact(maskedTextBox1.Text, "dd/MM/yyyy", null);
            }
            catch
            {
               MessageBox.Show("Ngày không hợp lệ");
               maskedTextBox1.ResetText();
            }
         }
      }
   }
}

Sau chạy được chương trình, Góc Kinh Nghiệm thu được kết quả như sau:

  • Nếu bạn nhập vào 30/02/2011 thì sẽ xuất hiện thông báo “Ngày không hợp lệ”
  • Ngược lại bạn nhập vào 20/02/2011 thì sẽ không xuất hiện thông báo

Góc Kinh Nghiệm chúc các bạn thành công!  :lol:

 


9 comments

  1. hay……. wa ^^ .bo ich mong rang se co nheu ban hay nua.chuc cac ban thanh cong trong cuoc song

  2. chị ơi cho em hỏi tại sao chị lại học tốt lập trình như vậy hả chị, chị có thể bày bí quyết cho em không

    1. Bí quyết thì chị không có, nhưng theo ý kiến riêng cá nhân chị là phải yêu nghề lập trình, khả năng tự học (thông qua ebook & internet), làm việc chăm chỉ và điều cuối cùng nhưng không kém phần quan trọng là tiếng Anh.

  3. Chị à sao e làm theo hướng dẫn mà ko kiểm tra được vậy
    e nhập 30/2/2011 ko thấy thông báo gì cả

Leave a Reply to phinguyet Cancel reply

Your email address will not be published. Required fields are marked *