private bool KiemTraDuLieu() { ErrorChecker.Clear(); // giả sử ban đầu mọi dữ liệu là đúng BUS_DaiLy dl = new BUS_DaiLy(); if (string.IsNullOrWhiteSpace(txtTenDaiLy.Text) || string.IsNullOrEmpty(txtTenDaiLy.Text)) { ErrorChecker.BlinkRate = 500; ErrorChecker.SetError(txtTenDaiLy, "Không được để trống."); return(false); } int madl = int.Parse(txtMaDaiLy.Text); if (dl.KiemTraTenDaiLy(madl, txtTenDaiLy.Text) == false) { ErrorChecker.BlinkRate = 500; ErrorChecker.SetError(txtTenDaiLy, "Tên đại lý đã tồn tại.\nGợi ý: Bạn hãy kiểm tra danh sách đại lý ngừng kinh doanh."); return(false); } if (string.IsNullOrWhiteSpace(txtDiaChi.Text) || string.IsNullOrEmpty(txtDiaChi.Text)) { ErrorChecker.BlinkRate = 500; ErrorChecker.SetError(txtDiaChi, "Không được để trống."); return(false); } if (cbLoaiDL.EditValue == null) { ErrorChecker.BlinkRate = 500; ErrorChecker.SetError(cbLoaiDL, "Không được để trống."); return(false); } if (cbQuan.EditValue == null) { ErrorChecker.BlinkRate = 500; ErrorChecker.SetError(cbQuan, "Không được để trống."); return(false); } // Kiểm tra Email hợp lệ // https://stackoverflow.com/a/19475049/7385686 // https://docs.microsoft.com/en-us/dotnet/standard/base-types/how-to-verify-that-strings-are-in-valid-email-format // https://docs.microsoft.com/en-us/dotnet/standard/base-types/anchors-in-regular-expressions string pattern = @"\A[a-z0-9]+([-._][a-z0-9]+)*@([a-z0-9]+(-[a-z0-9]+)*\.)+[a-z]{2,4}\z"; if (txtEmail.Text.Length == 0) { ErrorChecker.Clear(); return(true); } if (Regex.IsMatch(txtEmail.Text, pattern)) { if (dl.KTEmailTonTai(int.Parse(txtMaDaiLy.Text), txtEmail.Text) == false) { ErrorChecker.BlinkRate = 500; ErrorChecker.SetError(txtEmail, "Email đã tồn tại trong hệ thống."); return(false); } } if (Regex.IsMatch(txtEmail.Text, pattern) == false) { ErrorChecker.BlinkRate = 500; ErrorChecker.SetError(txtEmail, "Email không hợp lệ."); return(false); } else { ErrorChecker.Clear(); } return(true); }