添加字符串长度验证

本文关键字:验证 字符串 添加 | 更新日期: 2023-09-27 17:53:37

我正在添加验证到我的text字符串。它允许stringinteger值,这是正确的,但我想要求我的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;