Asp.Net MVC3模型验证字符串为空或如果不为,则最小长度为x

时间:2011-03-30 13:38:58

标签: asp.net-mvc-3

好奇,是否有可能让模型验证执行以下操作:

NewPassword可以为null 要么 如果NewPassword不为null,则最小长度为7

1 个答案:

答案 0 :(得分:6)

使用开箱即用的功能,我认为这是不可能的。

但是,通过创建自己的自定义ValidationAttribute

当然可以实现
public class MinLengthOrNullAttribute : ValidationAttribute
{
    public int MinLength { get; set; }

    public MinLengthOrNullAttribute(int minLength)
    {
        MinLength = minLength;
    }

    public override Boolean IsValid(Object value)
    {
        return value == null || (value as string).Length > minLength;
    }
}