为文本框验证创建方法
本文关键字:创建 方法 验证 文本 | 更新日期: 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;
}
}