1

我正在尝试研究如何创建一个 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 Range Rule hack,除非当然我绝对无法使用与上述代码类似的东西来做到这一点。

4

0 回答 0