我希望能夠做這樣的事情:驗證十進制值
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?
我的花瓶有什麼解決方法?
您是否真的需要在這裏使用小數?你會限制薪水到12.56嗎?只需使用'int'。這意味着你可以使用普通的'Range'屬性。 – DavidG
你確定'IsValid'有效嗎?我會說它應該返回true,如果'value> = _minValue' ... –
@PeterB,我糾正了這一點。謝謝。 – w0051977