因此,我必须为一种方法编码,该方法可以验证保存名称的字符串是否仅包含字母,而不包含数字。当用户在提交表单之前通过textchanged事件输入时,将应用文本框值的验证,并在标签上显示红色错误消息。我的代码有效,但是问题是当我在文本框中输入数字时,即使我删除文本框值并输入字母字符串,标签也会显示错误,错误仍然存在。
我声明了一个为标签分配错误字符串的方法,如果在文本更改事件期间正则表达式与文本框输入不匹配,则会调用该方法。
public void Validator()
{
Calculate_Salary.Enabled = false;
label4.Text = "Please enter only alphabetical letters";
}
private void _Name_TextChanged(object sender, EventArgs e)
{
Regex pattern = new Regex("/^[A-Za-z]+$/");
string name = _Name.Text;
if (pattern.IsMatch(name))
{
Calculate_Salary.Enabled = true;
label4.Text = "";
}
else
{
Validator();
}
}
最佳答案
您的Regex
比较不正确,请尝试以下代码:
public void Validator()
{
Calculate_Salary.Enabled = false;
label4.Text = "Please enter only alphabetical letters";
}
private void _Name_TextChanged(object sender, EventArgs e)
{
label4.Text = "";
string name = _Name.Text;
if (Regex.IsMatch(name, @"^[a-zA-Z]+$"))
Calculate_Salary.Enabled = true;
else
Validator();
}
关于c# - 用户输入并显示错误消息时如何验证文本框值?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/55694881/