我有一个问题.我验证了两个texbox.如果texbox未验证,则显示错误提供程序的错误消息.
情况:
tbAzetId.Text = "字符串"; tbHeslo.Text =空;
errorprovider在tbHeslo中显示错误消息,这没关系.
然后我在tbHeslo中写了一些文本,点击按钮但是errorprovider仍然在tbHeslo中显示错误信息.哪里可以有问题?
代码在这里:
private bool IsAzetIdValid()
{
if (tbAzetId.Text!=String.Empty && Regex.IsMatch(tbAzetId.Text, "[^a-zA-Z0-9]"))
{
return true;
}
else
{
return false;
}
}
private bool IsHesloValid()
{
if (tbHeslo.Text !=String.Empty)
{
return true;
}
else
{
return false;
}
}
private void btnPrihlasenie_Click(object sender, EventArgs e)
{
errorProvider.Clear();
if (!IsAzetIdValid())
errorProvider.SetError(tbAzetId, @"Nezadali ste Azet ID");
else if (!IsHesloValid())
errorProvider.SetError(tbHeslo, @"Nezadali ste heslo");
else
Text = "OK";
}
Run Code Online (Sandbox Code Playgroud)
Mic*_*tta 12
清除错误时,您需要清除该特定控件的错误提供程序文本:
errorProvider.SetError(tbAzetId, "");
if (!IsAzetIdValid())
errorProvider.SetError(tbAzetId, @"Nezadali ste Azet ID");
errorProvider.SetError(tbHelso, "");
if (!IsHesloValid())
errorProvider.SetError(tbHeslo, @"Nezadali ste heslo");;
Run Code Online (Sandbox Code Playgroud)
ErrorProvider.Clear是不够的:
要清除错误消息,请调用SetError方法并传入Empty作为String值.