我对 C# 还是很陌生,我知道这在 VBA(我的“首选”语言)中非常简单。我有一堆数据输入对象(文本/数字/日期),我希望能够验证输入对于该字段是否合乎逻辑。我不想在应该是文本的地方输入日期,我不想在应该是日期的地方输入整数,等等...
我发现这段代码可以检查输入的日期是否有效。但是,我对这个函数在 C#/.NET 应用程序中的位置感到困惑,而且我对如何从我的一个页面调用该函数感到困惑。任何帮助表示赞赏。目前我在 Site.Master.cs 中有它,这听起来是合适的地方。我应该声明,我希望能够将此验证放在一个地方,而不是将它放在每个表单上,因为我有 10 个带有数据输入控件的表单。
static bool IsValidSqlDateTimeNative(string someval)
{
bool valid = false;
DateTime testDate = DateTime.MinValue;
System.Data.SqlTypes.SqlDateTime sdt;
if (DateTime.TryParse(someval, out testDate))
{
try
{
// take advantage of the native conversion
sdt = new System.Data.SqlTypes.SqlDateTime(testDate);
valid = true;
}
catch (System.Data.SqlTypes.SqlTypeException ex)
{
// no need to do anything, this is the expected out of range error
}
}
return valid;
}
最佳答案
为什么不添加一个新类并将其作为静态方法,以便您可以在应用程序的任何位置调用它?
例如:
public static class DateTimeHelpers
{
static bool IsValidSqlDateTimeNative(string someval)
{
bool valid = false;
DateTime testDate = DateTime.MinValue;
System.Data.SqlTypes.SqlDateTime sdt;
if (DateTime.TryParse(someval, out testDate))
{
try
{
// take advantage of the native conversion
sdt = new System.Data.SqlTypes.SqlDateTime(testDate);
valid = true;
}
catch (System.Data.SqlTypes.SqlTypeException ex)
{
// no need to do anything, this is the expected out of range error
}
}
return valid;
}
}
然后像这样从应用程序的任何地方调用:
bool result = DateTimeHelpers.IsValidSqlDateTimeNative(mystring);
关于c# - 在 C#/.NET 环境中对输入进行全局验证?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15911531/