添加字符串长度验证

时间:2015-06-05 18:59:26

标签: c# asp.net

我正在为我的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;
        }

3 个答案:

答案 0 :(得分:3)

您的方法称为IsStringLengthInvalid,这意味着它应该对无效字符串返回true。现在,您似乎只是尝试为有效字符串返回true。

这样的事情应该有效:

    public bool IsStringInvalid(string text)
    {
        return string.IsNullOrEmpty(text) ||
            text.Length <= 4 ||
            !Regex.IsMatch(text, textCodeFormat);
    }

答案 1 :(得分:1)

您正在检查嵌套在逻辑错误的null条件中的非null条件。你应该这样做。

public bool IsStringInvalid(string text)
        {

                if (text != null && text.Length > 4 && !Regex.IsMatch(text, textCodeFormat))
                {
                    return true;
                }

                    return false;

        }

答案 2 :(得分:0)

如果声明嵌套在你的另一个if中,你有长度验证。如果文本有任何数据,如果永远不会到达嵌套,因为它将失败,因为IsNullOrEmpty将返回false。

我会做像

这样的事情
if (String.IsNullOrEmpty(text) || !Regex.IsMatch(text, textCodeFormat) || text.Length < 4)
{
    return true;
}
return false;