我有兩個文本框。我需要在採取任何其他行動之前驗證它們。文本框驗證不起作用
private ErrorProvider _errorProviderEmail = new ErrorProvider();
private ErrorProvider _errorProviderPass = new ErrorProvider();
public FormLogin()
{
InitializeComponent();
textBoxEmail.Validating += TextBoxEmailValidating;
textBoxPass.Validating += TextBoxPassValidating;
textBoxEmail.Validated += TextBoxEmailValidated;
textBoxPass.Validated += TextBoxPassValidated;
textBoxEmail.Text = "";
textBoxPass.Text = "";
}
void TextBoxPassValidated(object sender, EventArgs e)
{
_errorProviderPass.SetError(textBoxPass, "");
}
void TextBoxEmailValidated(object sender, EventArgs e)
{
_errorProviderEmail.SetError(textBoxEmail, "");
}
void TextBoxPassValidating(object sender, System.ComponentModel.CancelEventArgs e)
{
if (!string.IsNullOrEmpty(textBoxPass.Text)) return;
e.Cancel = true;
_errorProviderPass.SetError(textBoxPass,"Password is required!");
}
void TextBoxEmailValidating(object sender, System.ComponentModel.CancelEventArgs e)
{
if (!string.IsNullOrEmpty(textBoxEmail.Text)) return;
e.Cancel = true;
_errorProviderEmail.SetError(textBoxEmail, "Email address is required!");
}
的問題是,對於textBoxEmail
僅在驗證事件被觸發,這可能是錯在這裏,爲什麼爲textBoxPass
的驗證事件永遠不會觸發?
您需要填寫這個問題..你介紹它存在的方式沒有任何人可以幫助你的方式源。你爲什麼要添加你的事件動態而不是靜態的? – gbianchi
@gbianchi現在對你來說更清楚發生了什麼? – Constantin
第二個事件在特定條件下不會觸發嗎?如果第一個驗證失敗,第二個驗證失敗?如果第一個_passes_驗證,第二個驗證? – David