我有3个文本框
1,年龄(年), 2,年龄(月) 3,年龄(天))
默认情况下,所有3个texbox值都是0(整数),这意味着分配给每个控件的对象保持值为0.
ibusCalcWiz.icdoCalcWiz.user_age_month =0
ibusCalcWiz.icdoCalcWiz.user_age_year=0
ibusCalcWiz.icdoCalcWiz.user_age_Day=0
现在我需要验证用户是否填空了这些文本框。
所以我做的是
public bool IsUserAgeYearisNull()
{
return (ibusCalcWiz.icdoCalcWiz.user_age_year <= 0);
}
public bool IsUserAgeMonthisNull()
{
return (ibusCalcWiz.icdoCalcWiz.user_age_month <= 0);
}
public bool IsUserAgeDayisNull()
{
return (ibusCalcWiz.icdoCalcWiz.user_age_day <= 0);
}
因此,如果用户为空,则会抛出一条消息。这里没有问题
但是如果用户输入年份为12并且输入0表示月份和年龄。它显示用户需要输入值的月份和日期的错误。用户可以输入0但不应该输入错误。
答案 0 :(得分:1)
需要检查所有功能中的所有条件。
public bool IsUserAgeYearisNull()
{
if (ibusCalcWiz.icdoCalcWiz.user_age_month == 0 && ibusCalcWiz.icdoCalcWiz.user_age_day == 0)
return (ibusCalcWiz.icdoCalcWiz.user_age_year <= 0);
else
return true;
}
public bool IsUserAgeMonthisNull()
{
if (ibusCalcWiz.icdoCalcWiz.user_age_year == 0 && ibusCalcWiz.icdoCalcWiz.user_age_day == 0)
return (ibusCalcWiz.icdoCalcWiz.user_age_month <= 0);
else
return true
}
public bool IsUserAgeDayisNull()
{
if (ibusCalcWiz.icdoCalcWiz.user_age_year == 0 && ibusCalcWiz.icdoCalcWiz.user_age_month == 0)
return (ibusCalcWiz.icdoCalcWiz.user_age_day <= 0);
else
return true;
}
您还可以创建一个通用功能。
public bool isValid()
{
return (busCalcWiz.icdoCalcWiz.user_age_year > 0 ||
ibusCalcWiz.icdoCalcWiz.user_age_month > 0 ||
ibusCalcWiz.icdoCalcWiz.user_age_day > 0);
}
并从所有功能调用。喜欢:
public bool IsUserAgeDayisNull()
{
return isValid();
}
答案 1 :(得分:0)
您可以为RangeValidator
es。
TextBox
答案 2 :(得分:0)
如前所述使用RangeValidator是一个更好的主意,而不是编写大量代码。从长远来看,很难维护代码。