Files
Shrlalgo.RvKits/ShrlAlgoToolkit.RevitAddins/Attributes/IsNumericAttribute.cs
2026-02-20 15:31:44 +08:00

22 lines
802 B
C#

using System.ComponentModel.DataAnnotations;
using System.Globalization;
namespace ShrlAlgoToolkit.Mvvm.Attributes;
[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("输入内容不是数值。");
}
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]);
}
}