20 lines
632 B
C#
20 lines
632 B
C#
|
|
using System.ComponentModel.DataAnnotations;
|
|||
|
|
|
|||
|
|
namespace Sai.Toolkit.Mvvm.Attributes;
|
|||
|
|
|
|||
|
|
[AttributeUsage(AttributeTargets.Property | AttributeTargets.Field | AttributeTargets.Parameter)]
|
|||
|
|
public sealed class MinimumAttribute : ValidationAttribute
|
|||
|
|
{
|
|||
|
|
public MinimumAttribute(double minValue = 0)
|
|||
|
|
{
|
|||
|
|
MinValue = minValue;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
public double MinValue { get; }
|
|||
|
|
|
|||
|
|
protected override ValidationResult IsValid(object value, ValidationContext validationContext)
|
|||
|
|
{
|
|||
|
|
return double.TryParse(value.ToString(), out var d) && d >= MinValue ? ValidationResult.Success : new ValidationResult("<22><><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ");
|
|||
|
|
}
|
|||
|
|
}
|