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

sf.*_*sf. 1 asp.net-mvc-3

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

NewPassword可以为null或者如果NewPassword不为null,则最小长度为7

Jus*_*ner 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;
    }
}
Run Code Online (Sandbox Code Playgroud)