Files
ShrlAlgoToolkit/ShrlAlgoToolkit.Mvvm/Attributes/IsNumericAttribute.cs

22 lines
802 B
C#
Raw Normal View History

2024-09-22 11:05:41 +08:00
using System.ComponentModel.DataAnnotations;
2025-07-11 09:20:23 +08:00
using System.Globalization;
2024-09-22 11:05:41 +08:00
2025-04-24 20:56:44 +08:00
namespace ShrlAlgoToolkit.Mvvm.Attributes;
2024-09-22 11:05:41 +08:00
[AttributeUsage(AttributeTargets.Property | AttributeTargets.Field | AttributeTargets.Parameter)]
public sealed class IsNumericAttribute : ValidationAttribute
{
protected override ValidationResult IsValid(object value, ValidationContext validationContext)
{
return double.TryParse(value.ToString(), out var _) ? ValidationResult.Success : new("输入内容不是数值。");
}
2025-07-11 09:20:23 +08:00
public override bool IsValid(object value)
{
return double.TryParse(value.ToString(), out var _);
}
public override string FormatErrorMessage(string name)
{
return string.Format(CultureInfo.CurrentCulture, base.ErrorMessageString, [name]);
}
2024-09-22 11:05:41 +08:00
}