验证小数值

时间:2017-08-08 10:35:49

标签: c# asp.net-mvc

我希望能够做到这样的事情:

 public class MinimumSalaryAttribute : ValidationAttribute
    {
        private readonly decimal _minValue;

        public MinimumSalaryAttribute(decimal minValue)
        {
            _minValue = minValue;
        }

        public override bool IsValid(object value)
        {
            return (decimal)value > _minValue;
        }
    }

然后在我看来:

[MinimumSalary(0M)]
public decimal Salary { get; set; }

这会阻止用户输入负小数。但是,我收到编译器错误:"不是有效的属性类型"。我理解这里描述的原因:Why "decimal" is not a valid attribute parameter type?

我的花瓶里的解决方法是什么?

1 个答案:

答案 0 :(得分:0)

您可以使用“范围”注释; 10.50D是最小值,50.80D是最大值...

[Range(10.50D,50.80D,ErrorMessage ="Error min")]
public decimal Salary { get; set; }

Range属性指定数据字段值的数值范围约束。它附带System.ComponentModel.DataAnnotations(在System.ComponentModel.DataAnnotations.dll中)