На вашем месте я бы использовал платформу System.ComponentModel.DataAnnotations.
В Интернете есть много примеров.
Вы можете использовать атрибуты ValidationAttributes, как требуется, диапазон и т. Д., И создать собственный атрибут для выполнения пользовательской проверки.
См. Ниже, как проверить сущность.
Type objectType = entity.GetType();
Dictionary<string, string> errors = new Dictionary<string, string>();
foreach (PropertyInfo propertyInfo in objectType.GetProperties().Where(w => w.CanRead))
{
object value = propertyInfo.GetValue(entity, null);
foreach (ValidationAttribute validator in propertyInfo.GetCustomAttributes(typeof(ValidationAttribute), false))
{
if (!validator.IsValid(value))
{
errors.Add(propertyInfo.Name, validator.ErrorMessage);
}
}
}
Надеюсь, это поможет, если вам нужно что-то еще, просто спросите
Regard
Daniel