| 123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- using System;
- using System.Collections.Generic;
- using System.Globalization;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using System.Windows;
- using System.Windows.Controls;
- using TeamAAS_VP;
- namespace FeTeamAAS_VPederUtility.ValidationRules
- {
- public class NumberRangeValidationRule : ValidationRule
- {
- // 定义 MaxValue 和 MinValue 作为普通属性
- public int MaxValue { get; set; } = int.MaxValue;
- public int MinValue { get; set; } = int.MinValue;
- public override ValidationResult Validate(object value, CultureInfo cultureInfo)
- {
- if (value == null || string.IsNullOrEmpty(value.ToString()))
- {
- return new ValidationResult(false, "Input cannot be empty.".Replace("\\n", Environment.NewLine).Replace("\\t", "\t"));
- }
- if (int.TryParse(value.ToString(), out int number))
- {
- if (number >= MinValue && number <= MaxValue)
- {
- return ValidationResult.ValidResult;
- }
- else
- {
- string msg = "Value must be between {MinValue} and {MaxValue}.".Replace("\\n", Environment.NewLine).Replace("\\t", "\t");
- return new ValidationResult(false, msg.Replace("{MinValue}", MinValue.ToString()).Replace("{MaxValue}", MaxValue.ToString()));
- }
- }
- else
- {
- return new ValidationResult(false, "Invalid number format.".Replace("\\n", Environment.NewLine).Replace("\\t", "\t"));
- }
- }
- }
- }
|