Ich habe einen regulären Ausdruck in C# winforms. Ich habe es zu identifizieren, ob das Format korrekt ist oder nicht. Wenn es korrekt ist, wird es mit dem Speichern fortfahren, aber wenn es korrekt ist, wird es seine Validierung anzeigen und das Speicherereignis abbrechen.Regulärer Ausdruck, um das Ereignis abzubrechen, wenn es falsch ist
Validieren Code
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;
}
}
Code speichern
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();
}
Es besagt, dass es eine falsche Format, aber es ist weiterhin das Ereignis selbst zu speichern, wenn die Formatierung nicht korrekt ist .
Der Fehler ist woanders und wir können das nicht sehen. Wo ist der Sicherungscode? –
@GiorgiNakeuri Ich habe den obigen Code mit meinem Speichercode aktualisiert. –
Können Sie die 'validateChildren' Methode anzeigen – Valentin