Düzenli bir ifademde C# winforms var. Formatın doğru olup olmadığını tanımlamam gerekiyor. Doğruysa, kaydetme işlemine devam edilir, ancak doğruysa, doğrulama işlemini gösterecek ve kaydetme etkinliğini iptal edecektir. kodunuEğer yanlış olursa olayı iptal etmek için düzenli ifade
private void emailTxt_Validating(object sender, CancelEventArgs e)
{
string pattern = "^([0-9a-zA-Z]([-\\.\\w]*[0-9a-zA-Z])*@([0-9a-zA-Z][-\\w]*[0-9a-zA-Z]\\.)+[a-zA-Z]{2,9})$";
if (Regex.IsMatch(emailTxt.Text, pattern))
{
e.Cancel = false;
}
else
{
e.Cancel = true;
errorEmail.SetError(emailTxt, "Incorrect Format Try... [email protected]");
CancelBtn.Enabled = true;
}
}
kaydet kodu doğrulama
private void SaveBtn_Click(object sender, EventArgs e)
{
//SQL Connection and SQL for inserting a new admin
SqlConnection con = new SqlConnection(@"Data Source=(LocalDB)\v11.0; AttachDbFilename=C:\Users\Donald\Documents\Visual Studio 2013\Projects\DesktopApplication\DesktopApplication\Student_CB.mdf ;Integrated Security=True");
con.Open();
if (ValidateChildren(ValidationConstraints.Enabled))
{
try
{
string sql = "INSERT INTO Admin (Admin_Username, Admin_FName, Admin_SName, Admin_Email, Admin_Password) " + "VALUES (@adminName, @adminFirstname, @adminSurname, @adminEmail, @adminPassword);";
using (var cmd = new SqlCommand(sql, con))
{
cmd.Parameters.AddWithValue("@adminName", usernameTxt.Text);
cmd.Parameters.AddWithValue("@adminFirstname", firstnameTxt.Text);
cmd.Parameters.AddWithValue("@adminSurname", surnameTxt.Text);
cmd.Parameters.AddWithValue("@adminEmail", emailTxt.Text);
cmd.Parameters.AddWithValue("@adminPassword", passwordTxt.Text);
cmd.ExecuteNonQuery();
}
MessageBox.Show("Admin Successfully Added!");
this.Close();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
con.Close();
}
O yanlış bir biçim belirten ancak biçimlendirme yanlış olduğunda bile etkinliği kaydetmek devam ediyor .
Hata başka bir yerde ve biz bunu göremiyoruz. Whete tasarruf kodu mu? –
@GiorgiNakeuri Yukarıdaki kodu, kayıt kodumla güncelledim. –
"validateChildren" yöntemini – Valentin