添加字符串长度验证
本文关键字:验证 字符串 添加 | 更新日期: 2023-09-27 17:53:37
我正在添加验证到我的text
字符串。它允许string
和integer
值,这是正确的,但我想要求我的text
大于4个字符长。我已经添加了text.Length > 4
,但在输入2字符串时,这不会添加任何验证。有什么建议吗?
public bool IsStringInvalid(string text)
{
if (String.IsNullOrEmpty(text))
{
if (text != null && !Regex.IsMatch(text, textCodeFormat) && text.Length > 4)
{
return true;
}
}
return false;
}
您的方法称为IsStringLengthInvalid
,这意味着它应该为无效字符串返回true。现在,您似乎试图仅对有效字符串返回true。
应该这样做:
public bool IsStringInvalid(string text)
{
return string.IsNullOrEmpty(text) ||
text.Length <= 4 ||
!Regex.IsMatch(text, textCodeFormat);
}
您正在检查嵌套在空条件中的非空条件,这在逻辑上是错误的。你应该这样做。
public bool IsStringInvalid(string text)
{
if (text != null && text.Length > 4 && !Regex.IsMatch(text, textCodeFormat))
{
return true;
}
return false;
}
长度验证if语句嵌套在另一个if语句中。如果text有任何数据,它将永远无法到达嵌套的If,因为它将失败,因为IsNullOrEmpty将返回false。
我会写
if (String.IsNullOrEmpty(text) || !Regex.IsMatch(text, textCodeFormat) || text.Length < 4)
{
return true;
}
return false;