How to show Messagebox "Data is invalid" when there is errors left in my WinForms. Tried something like but it does not work.
if (errorprovider1 == !null)
{
MessageBox.Show("Data is invalid");
}
Maybe i have to use bool for this solution.
My full code:
private void Form1_Load(object sender, EventArgs e)
{
this.Text = "Formas elementu validācija";
}
private void textBox1_Validating(object sender, CancelEventArgs e)
{
Regex regex1 = new Regex(@"^[a-zA-Z]+$");
if (!regex1.IsMatch(textBox1.Text))
{
errorProvider1.SetError(textBox1, "Nosaukums nedrīskt saturēt ciparus!");
}
else
{
errorProvider1.Clear();
}
}
private void textBox2_Validating(object sender, CancelEventArgs e)
{
Regex regex1 = new Regex(@"^[0-9]+$");
if (!regex1.IsMatch(textBox2.Text))
{
errorProvider2.SetError(textBox2, "Reģ.nur drīkst saturēt TIKAI ciparus!");
}
else
{
errorProvider2.Clear();
}
}
private void button1_Click(object sender, EventArgs e)
{
// if errorProvider1 is empty (no errors) , show messagebox with text: All data correct.
// else Data is incorrect.
}
You should first correct your validating events this way:
Then you should use
ValidateChildrenmethod to check if there is a validation error or not, then you can get a list of all errors and show to user this way:A Sample screenshot:
Note:
Clearmethod of error provider to set valid state to control, you should useSetError, for examplethis.errorProvider1.SetError(textBox2, "");e.Cancel=truewhen there is a validation error.AutoValidateproperty of form toEnableAllowFocusChangein design time or by code inLoadevent of form this way:To change validation behavior of form: