我正在尝试研究如何创建一个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范围规则黑客攻击,除非我完全没办法使用类似于上面代码的东西。