asp.net mvc 1.0验证

时间:2010-09-06 20:04:17

标签: asp.net-mvc validation

我在asp.net mvc应用程序中工作,这是在mvc 1中完成的...所以验证是在nerd dinner 1.0 tutorial

之后完成的

我刚刚定义了这样的规则

public bool Is_CellPhone(string val)        
        {
            Regex celular = new Regex("^04[12][246][0-9]{7}$");
            return celular.IsMatch(val);
        }

在我的GetRuleValidations中我这样做

    if (!Is_CellPhone(Celular))
                    yield return new RuleViolation("El celular no cumple el formato", 

"Celular");

问题是..手机不是必需的,所以当用户不提交该值时,验证方法仍会运行并因空字符串而返回错误...我该怎么做才能正确防止此错误?

1 个答案:

答案 0 :(得分:1)

如果字符串为null或为空,则返回true:

public bool Is_CellPhone(string val)        
        {
            if (string.IsNullOrEmpty(val)) { return true; }
            Regex celular = new Regex("^04[12][246][0-9]{7}$");
            return celular.IsMatch(val);
        }

我怀疑你也可以用正则表达式来掩盖这一点,但我吮吸正则表达式所以我不会假装在那里给出建议。