C#错误提供程序故障排除 - 验证文本框数据输入

时间:2013-05-09 02:35:13

标签: c# error-handling validation

大家:

我正在尝试验证表单上文本框中的数据。这是我为验证器提供的代码,但是当我明显违反代码中设置的约束时(默认情况下从txtbox中输入,输入少于4个字符等等)它没有用。任何关于为什么这不起作用的想法?程序运行,因此它不能是语法,所以我认为它必须是逻辑错误,但我只是没有看到它。

            // Validation for Applicant Name text box
    private void txtAppInfoName_Validating(object sender, CancelEventArgs e)
        {

            // Define what consitiutes a match
            Match m = Regex.Match(txtAppInfoName.Text, @"\b[A-Za-z]\b");

            if (m.Success == false)
            {
                errorProvider1.SetError(txtAppInfoName, "Please use only letters to type your name.");
                txtAppInfoName.Select();
            }

            else if (txtAppInfoName.Text.Length < 4)
            {
                errorProvider1.SetError(txtAppInfoName, "Please type first and last names.");
                txtAppInfoName.Select();
            }

            else if (txtAppInfoName.Text == "")
            {
                errorProvider1.SetError(txtAppInfoName, "Must enter a name.");
                txtAppInfoName.Select();
            }
            else errorProvider1.SetError(txtAppInfoName, ""); // Remove the error provider
        }

1 个答案:

答案 0 :(得分:0)

很可能甚至根本没有调用处理程序。确保在txtAppInfoName_Validating事件下的GUI设计器中指定了处理程序Validating

如果这不起作用,请尝试添加断点或在处理程序中抛出异常,看看会发生什么 如果它停止,您可以使用调用堆栈来检查错误源。