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