mvc3 unobtrusive validation - yield返回带有ValidationType值的新ModelClientValidationRule

时间:2012-04-21 06:56:10

标签: asp.net-mvc-3 c#-4.0 unobtrusive-validation validationattribute

我正在尝试研究如何创建一个MinValue属性,其中包含必要的客户端验证规则以工作客户端 - 我有这个基于我创建的其他属性,但我不知道如何添加_minValue到GetClientValidationRules方法:

[AttributeUsage(AttributeTargets.Property, AllowMultiple = false, Inherited = false)]
public class MinValueAttribute : ValidationAttribute, IClientValidatable
{
    private readonly int _minValue;

    public MinValueAttribute(int minValue)
    {
        this._minValue = minValue;
    }

    public override bool IsValid(object value)
    {
        return (int)value >= this._minValue;
    }

    public IEnumerable<ModelClientValidationRule> GetClientValidationRules(ModelMetadata metadata, ControllerContext context)
    {
        yield return new ModelClientValidationRule
        {
            ErrorMessage = this.ErrorMessage,
            ValidationType = "min"
        };
    }
}

我也不是在寻找一个Int32.MaxValue范围规则黑客攻击,除非我完全没办法使用类似于上面代码的东西。

0 个答案:

没有答案