为文本框验证创建方法

本文关键字:创建 方法 验证 文本 | 更新日期: 2023-09-27 18:15:06

我有一个很期待的大项目。会有很多带有很多文本框的表单,我不想在每个表单中都写代码。我想创建一个类的方法来验证这些文本框。我不知道怎么做。

我希望这个方法接受一个文本框,例如:ValidateTextBoxForInt(textbox1)并验证它。我将这样使用它:

return ValidateTextBoxForInt(textbox1, textbox2);

(可能只有1个文本框,也许100个文本框…取决于有多少文本框需要为int进行验证。)

谁能给我介绍一下吗?帮我一下?

谢谢你

为文本框验证创建方法

您可以有一个自定义表单,它继承自常规表单。它将有一些验证事件,这将触发它通过所有包含的文本框,验证这些并提供一些帮助消息,让用户知道错误。

在枚举textbox时,不要忘记Form。控件是一个树,而不是一个列表,所以你可能需要递归或平坦这个树首先,考虑面板内的文本框,选项卡控件等。

创建一个验证器类并调用它传入一个控件,该控件是所有TextBox控件的父控件,例如Panel:

public class Validator
{
    public bool ValidateAsInt(Control control)
    {
        bool valid = true;
        if (control.GetType() == typeof(TextBox))
        {
            int outVal = 0;
            if (0 == int.TryParse(((TextBox)control).Text, outVal))
            {
                valid = false;
            }
        }
        if (valid)
        {
            foreach (Control childControl in control.Controls)
            {
                if (!ValidateAsInt(childControl))
                {
                    valid = false;
                    break;
                }
            }
        }
        return valid;
    }
}