35 lines
1.4 KiB
C#
35 lines
1.4 KiB
C#
using DTS.Common.SharedResource.Strings;
|
|
using System.Globalization;
|
|
using System.Windows.Controls;
|
|
|
|
namespace DTS.Common.Validators
|
|
{
|
|
[System.Diagnostics.CodeAnalysis.SuppressMessage("Minor Code Smell", "S101:Types should be named in PascalCase", Justification = "acronyms")]
|
|
public class UARTBAUDRateValidator : ValidationRule
|
|
{
|
|
public override ValidationResult Validate(object value, CultureInfo cultureInfo)
|
|
{
|
|
if (value is string s)
|
|
{
|
|
if (!long.TryParse(s, out var temp))
|
|
{
|
|
return new ValidationResult(false, StringResources.InvalidFormat);
|
|
}
|
|
else
|
|
{
|
|
if (temp > Constant.EmbeddedSensors.BAUD_RATE_MAX)
|
|
{
|
|
return new ValidationResult(false, $"{StringResources.MaxValueIs}{Constant.EmbeddedSensors.BAUD_RATE_MAX}");
|
|
}
|
|
if ( temp < Constant.EmbeddedSensors.BAUD_RATE_MIN)
|
|
{
|
|
return new ValidationResult(false, $"{StringResources.MinValueIs}{Constant.EmbeddedSensors.BAUD_RATE_MIN}");
|
|
}
|
|
return new ValidationResult(true, null);
|
|
}
|
|
}
|
|
return new ValidationResult(false, StringResources.InvalidFormat);
|
|
}
|
|
}
|
|
}
|